diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63b15e147..2a2c0ef7d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -297,7 +297,7 @@ jobs: - lint env: - DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer + DEVELOPER_DIR: /Applications/Xcode_26.0_beta_5.app/Contents/Developer steps: - uses: actions/checkout@v4 diff --git a/Cargo.lock b/Cargo.lock index 8d2d6363b..d46ba789d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -802,6 +802,7 @@ dependencies = [ "dispatch2", "objc2", "objc2-avf-audio", + "objc2-core-audio-types", "objc2-core-foundation", "objc2-core-graphics", "objc2-core-image", @@ -857,6 +858,7 @@ dependencies = [ name = "objc2-background-assets" version = "0.3.1" dependencies = [ + "bitflags", "block2", "objc2", "objc2-foundation", @@ -866,6 +868,7 @@ dependencies = [ name = "objc2-background-tasks" version = "0.3.1" dependencies = [ + "bitflags", "block2", "dispatch2", "objc2", @@ -877,6 +880,9 @@ name = "objc2-browser-engine-core" version = "0.3.1" dependencies = [ "libc", + "objc2", + "objc2-avf-audio", + "objc2-foundation", ] [[package]] @@ -885,6 +891,7 @@ version = "0.3.1" dependencies = [ "bitflags", "block2", + "libc", "objc2", "objc2-av-foundation", "objc2-core-foundation", @@ -985,6 +992,7 @@ dependencies = [ "bitflags", "block2", "objc2", + "objc2-contacts", "objc2-core-location", "objc2-foundation", ] @@ -2325,6 +2333,7 @@ dependencies = [ "objc2-core-graphics", "objc2-core-media", "objc2-foundation", + "objc2-uniform-type-identifiers", ] [[package]] @@ -2393,8 +2402,11 @@ version = "0.3.1" dependencies = [ "block2", "objc2", + "objc2-av-foundation", "objc2-core-graphics", + "objc2-core-video", "objc2-foundation", + "objc2-video-toolbox", ] [[package]] @@ -2517,6 +2529,7 @@ dependencies = [ "block2", "objc2", "objc2-app-kit", + "objc2-background-assets", "objc2-core-foundation", "objc2-foundation", ] diff --git a/Cargo.toml b/Cargo.toml index a816a2f0a..8a9a084e4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,6 +73,8 @@ default.extend-identifiers.IMAGEIO_PNG_FILTER_PAETH = "IMAGEIO_PNG_FILTER_PAETH" # In framework-crates/objc2-io-bluetooth/translation-config.toml default.extend-identifiers.kBluetoothHCIEvnetMaskLinkSupervisionTimeoutChangedEvent = "kBluetoothHCIEvnetMaskLinkSupervisionTimeoutChangedEvent" default.extend-identifiers.kBluetoothHCIEvnetMaskEnhancedFlushCompleteEvent = "kBluetoothHCIEvnetMaskEnhancedFlushCompleteEvent" +# In BackgroundAssets, BA is short of that framework. +default.extend-words.BA = "BA" # Used in Metal, LOD = level of detail default.extend-words.lod = "lod" diff --git a/crates/header-translator/configs/libc.toml b/crates/header-translator/configs/libc.toml index 10794ecbc..08183216d 100644 --- a/crates/header-translator/configs/libc.toml +++ b/crates/header-translator/configs/libc.toml @@ -16,3 +16,7 @@ gnustep = true # HACK: Define `task_port_t` in the using crate (it's a simple alias to `task_t`). external.task_port_t.module = "__builtin__" + +# Redefined by CoreFoundation with a name that makes it hard to see +# that this is `libc::malloc_zone_t`. +struct._malloc_zone_t.renamed = "malloc_zone_t" diff --git a/crates/header-translator/configs/skipped.toml b/crates/header-translator/configs/skipped.toml index 62bd7efec..d156eccd9 100644 --- a/crates/header-translator/configs/skipped.toml +++ b/crates/header-translator/configs/skipped.toml @@ -23,7 +23,7 @@ vmnet = "Very C-centric and old" DriverKit = "Uses C++ classes" -AGL = "OpenGL-specific, use Metal instead" +# AGL = "OpenGL-specific, use Metal instead" # Removed in newer SDKs GLKit = "OpenGL-specific, use Metal instead" GLUT = "OpenGL-specific, use Metal instead" OpenGL = "OpenGL-specific, use Metal instead" @@ -31,6 +31,7 @@ OpenGLES = "OpenGL-specific, use Metal instead" ActivityKit = "Swift-only" AdAttributionKit = "Swift-only" +AlarmKit = "Mostly Swift-only" AppIntents = "Swift-only" Assignables = "Swift-only" AutomatedDeviceEnrollment = "Swift-only" @@ -43,15 +44,22 @@ CoreTransferable = "Swift-only" CreateML = "Swift-only" CreateMLComponents = "Swift-only" CryptoKit = "Swift-only" +DeclaredAgeRange = "Swift-only" DeveloperToolsSupport = "Swift-only" DeviceActivity = "Swift-only" DockKit = "Swift-only" +EnergyKit = "Swift-only" ExtensionFoundation = "Swift-only" FamilyControls = "Swift-only" FinanceKit = "Swift-only" FinanceKitUI = "Swift-only" +FoundationModels = "Swift-only" +GeoToolbox = "Swift-only" GroupActivities = "Swift-only" +IdentityDocumentServices = "Swift-only" +IdentityDocumentServicesUI = "Swift-only" ImagePlayground = "Swift-only" +ImmersiveMediaSupport = "Swift-only" JournalingSuggestions = "Swift-only" LightweightCodeRequirements = "Swift-only" LiveCommunicationKit = "Swift-only" @@ -63,9 +71,12 @@ ManagedSettingsUI = "Swift-only" MarketplaceKit = "Swift-only" MatterSupport = "Swift-only" MusicKit = "Swift-only" +PaperKit = "Swift-only" +PermissionKit = "Swift-only" ProximityReader = "Swift-only" RealityFoundation = "Swift-only" RealityKit = "Swift-only" +RelevanceKit = "Swift-only" RoomPlan = "Swift-only" SecureElementCredential = "Swift-only" SwiftData = "Swift-only" @@ -73,13 +84,18 @@ SwiftUI = "Swift-only" SwiftUICore = "Swift-only" TabletopKit = "Swift-only" TabularData = "Swift-only" +TelephonyMessagingKit = "Swift-only" TipKit = "Swift-only" Translation = "Swift-only" TranslationUIProvider = "Swift-only" +VisionEntitlementServices = "Mostly Swift-only" VisionKit = "Swift-only" +VisualIntelligence = "Swift-only" WeatherKit = "Swift-only" -WorkoutKit = "Swift-only" WidgetKit = "Mostly Swift-only" +WiFiAware = "Swift-only" +WirelessInsights = "Swift-only" +WorkoutKit = "Swift-only" AppleScriptKit = "Basically empty nowadays" # requires !swift AppleScriptObjC = "Basically empty nowadays" @@ -94,6 +110,7 @@ QTKit = "No headers present in Xcode's SDK" StickerFoundation = "Basically empty" StickerKit = "Basically empty" System = "Deprecated wrapper over libSystem.dylib" +MetalPerformancePrimitives = "Header-only framework (no symbols)" # Deprecated before macOS 10.12 (Rust's minimum supported macOS version) AudioVideoBridging = "Deprecated, use AVKit/AVFoundation instead (maybe?)" @@ -125,3 +142,7 @@ DeviceDiscoveryUI = "Needs Network first" BrowserKit = "TODO" SecurityUI = "TODO" +GameSave = "TODO" +TouchControls = "TODO" + +MeshNetFramework = "Weirdly incomplete" diff --git a/crates/header-translator/src/id.rs b/crates/header-translator/src/id.rs index b51c99c94..5611853cf 100644 --- a/crates/header-translator/src/id.rs +++ b/crates/header-translator/src/id.rs @@ -69,6 +69,22 @@ pub struct Location { impl Location { fn new(module_path: impl Into>) -> Self { let module_path = module_path.into(); + + // We don't care about the difference between the different + // DarwinFoundation modules (for now at least). + if let Some(rest) = module_path.strip_prefix("DarwinFoundation.") { + return Self::new(rest); + } + if let Some(rest) = module_path.strip_prefix("_DarwinFoundation1.") { + return Self::new(rest); + } + if let Some(rest) = module_path.strip_prefix("_DarwinFoundation2.") { + return Self::new(rest); + } + if let Some(rest) = module_path.strip_prefix("_DarwinFoundation3.") { + return Self::new(rest); + } + let module_path = match &*module_path { // Remove submodules for Objective-C. name if name.starts_with("ObjectiveC") => "ObjectiveC".into(), @@ -83,7 +99,9 @@ impl Location { // Various macros name if name.starts_with("os_availability") => "__builtin__".into(), - "DarwinFoundation.cdefs" => "__builtin__".into(), + name if name.starts_with("_AvailabilityInternal") => "__builtin__".into(), + name if name.starts_with("availability") => "__builtin__".into(), + "cdefs" => "__builtin__".into(), "Darwin.libkern.OSByteOrder" => "__builtin__".into(), "TargetConditionals" => "__builtin__".into(), "Darwin.AssertMacros" => "__builtin__".into(), @@ -108,7 +126,7 @@ impl Location { "_Builtin_stdint" | "_stdint" => "__builtin__".into(), name if name.starts_with("_Builtin_stddef") => "__builtin__".into(), // Implementation of the above - "DarwinFoundation.types.machine_types" => "__builtin__".into(), + name if name.starts_with("types.machine_types") => "__builtin__".into(), // UINT_MAX, FLT_MIN, DBL_MAX, etc. // Handled manually in `expr.rs`. "_Builtin_limits" => "__builtin__".into(), @@ -132,8 +150,8 @@ impl Location { name if name.starts_with("sys_types") => "__libc__".into(), name if name.starts_with("Darwin.POSIX") => "__libc__".into(), name if name.starts_with("_signal") => "__libc__".into(), - "DarwinFoundation.types.sys_types" => "__libc__".into(), - "DarwinFoundation.qos" => "__libc__".into(), + "types.sys_types" => "__libc__".into(), + "qos" => "__libc__".into(), "_stdio" => "__libc__".into(), "_time.timespec" => "__libc__".into(), "_fenv" => "__libc__".into(), @@ -149,9 +167,12 @@ impl Location { "ptrauth" => "__libc__".into(), "Darwin.uuid" => "__libc__".into(), "unistd" => "__libc__".into(), + "Darwin.malloc" => "__libc__".into(), + "_stdlib.malloc.malloc_type" => "__libc__".into(), // Will be moved to the `mach2` crate in `libc` v1.0 name if name.starts_with("Darwin.Mach") => "__libc__".into(), + "mach.port.mach_port_t" => "__libc__".into(), "mach.mach_port_t" => "__libc__".into(), "_mach_port_t" => "__libc__".into(), @@ -164,6 +185,11 @@ impl Location { .replace("IOBluetoothUI.objc", "IOBluetoothUI.objc2") .into(), + // TODO: Will hopefully be fixed in future Xcode betas + "_LocationEssentials.CLLocationEssentials" => "CoreLocation.CLLocation".into(), + "UIUtilities.UIGeometry" => "UIKit.UIGeometry".into(), + "UIUtilities.UICoordinateSpace" => "UIKit.UIView".into(), + _ => module_path, }; diff --git a/crates/header-translator/src/rust_type.rs b/crates/header-translator/src/rust_type.rs index 266e61a88..101fc421c 100644 --- a/crates/header-translator/src/rust_type.rs +++ b/crates/header-translator/src/rust_type.rs @@ -876,6 +876,8 @@ impl Ty { | "MIDISysexSendRequestUMP" | "MIDIDriverInterface" | "cssm_list_element" + | "malloc_zone_t" + | "_malloc_zone_t" ) ) { // Fake fields, we'll have to define it ourselves diff --git a/crates/header-translator/src/stmt.rs b/crates/header-translator/src/stmt.rs index 1006c80fd..7d27f6127 100644 --- a/crates/header-translator/src/stmt.rs +++ b/crates/header-translator/src/stmt.rs @@ -324,7 +324,10 @@ fn verify_objc_decl(entity: &Entity<'_>, _context: &Context<'_>) { (EntityKind::UnexposedAttr, _) => { // Parsed in parse_attributes } - (_, parent_kind) => error!(?parent_kind, "unknown in parent"), + (EntityKind::AnnotateAttr, _) if entity.get_name().unwrap() == "main-thread-only" => { + // Already parsed via. UnexposedAttr. + } + (_, parent_kind) => error!(?entity, ?parent_kind, "unknown in parent"), } }); } diff --git a/crates/header-translator/src/unexposed_attr.rs b/crates/header-translator/src/unexposed_attr.rs index a2892e49b..39438d052 100644 --- a/crates/header-translator/src/unexposed_attr.rs +++ b/crates/header-translator/src/unexposed_attr.rs @@ -65,6 +65,9 @@ impl UnexposedAttr { | "CF_TYPED_EXTENSIBLE_ENUM" | "NS_EXTENSIBLE_STRING_ENUM" | "CF_EXTENSIBLE_STRING_ENUM" => Some(Self::TypedExtensibleEnum), + // FIXME: Attribute used directly in CoreGraphics, we really need + // to parse and check the contents of it here. + "swift_wrapper" => None, "NS_SWIFT_BRIDGED_TYPEDEF" | "CF_SWIFT_BRIDGED_TYPEDEF" => Some(Self::BridgedTypedef), "CF_IMPLICIT_BRIDGING_ENABLED" => Some(Self::BridgedImplicit), "CF_BRIDGED_TYPE" @@ -93,12 +96,25 @@ impl UnexposedAttr { // Nullability attributes s if s.starts_with("DISPATCH_NONNULL") => None, s if s.starts_with("XPC_NONNULL") => None, - "NS_SWIFT_SENDABLE" | "AS_SWIFT_SENDABLE" | "CM_SWIFT_SENDABLE" - | "CT_SWIFT_SENDABLE" | "CV_SWIFT_SENDABLE" => Some(Self::Sendable), - "NS_SWIFT_NONSENDABLE" | "CM_SWIFT_NONSENDABLE" | "CV_SWIFT_NONSENDABLE" => { - Some(Self::NonSendable) + "NS_SWIFT_SENDABLE" + | "AS_SWIFT_SENDABLE" + | "CM_SWIFT_SENDABLE" + | "CT_SWIFT_SENDABLE" + | "CV_SWIFT_SENDABLE" + | "SEC_SWIFT_SENDABLE" + | "IOSFC_SWIFT_SENDABLE" => Some(Self::Sendable), + "NS_SWIFT_NONSENDABLE" + | "CM_SWIFT_NONSENDABLE" + | "CV_SWIFT_NONSENDABLE" + | "IOSFC_SWIFT_NONSENDABLE" => Some(Self::NonSendable), + // TODO + "NS_SWIFT_SENDING" | "CM_SWIFT_SENDING" => None, + "CM_SWIFT_SENDING_RETAINED_RESULT" | "CM_SWIFT_SENDING_RETAINED_PARAMETER" => { + Some(Self::ReturnsRetained) + } + "NS_SWIFT_UI_ACTOR" | "WK_SWIFT_UI_ACTOR" | "CARPLAY_TEMPLATE_UI_ACTOR" => { + Some(Self::UIActor) } - "NS_SWIFT_UI_ACTOR" | "WK_SWIFT_UI_ACTOR" => Some(Self::UIActor), "NS_SWIFT_NONISOLATED" | "UIKIT_SWIFT_ACTOR_INDEPENDENT" => Some(Self::NonIsolated), // TODO "CF_FORMAT_ARGUMENT" | "CF_FORMAT_FUNCTION" | "NS_FORMAT_FUNCTION" @@ -161,6 +177,8 @@ impl UnexposedAttr { | "CF_SWIFT_UNAVAILABLE" | "CG_AVAILABLE_BUT_DEPRECATED" | "CG_AVAILABLE_STARTING" + | "CG_SOFT_DEPRECATED_WITH_REPLACEMENT" + | "CG_ENUM_SOFT_DEPRECATED_WITH_REPLACEMENT" | "CI_GL_DEPRECATED" | "CI_GL_DEPRECATED_IOS" | "CI_GL_DEPRECATED_MAC" @@ -298,8 +316,12 @@ impl UnexposedAttr { | "CB_CM_API_AVAILABLE" | "CF_AUTOMATED_REFCOUNT_UNAVAILABLE" | "CG_OBSOLETE" - | "CS_UNAVAILABLE_EMBEDDED" + | "CK_SHARE_ACCESS_REQUESTER_AVAILABILITY" + | "CK_SHARE_BLOCKED_IDENTITY_AVAILABILITY" + | "CKSHARE_REQUEST_ACCESS_INTERFACES_AVAILABILITY" + | "CM_VISION_OS_AVAILABLE" | "CS_TVOS_UNAVAILABLE" + | "CS_UNAVAILABLE_EMBEDDED" | "CSSM_DEPRECATED" | "deprecated" | "DEPRECATED_ATTRIBUTE" @@ -369,7 +391,8 @@ impl UnexposedAttr { | "DISPATCH_REFINED_FOR_SWIFT" | "NS_REFINED_FOR_SWIFT" | "AR_REFINED_FOR_SWIFT" - | "NS_SWIFT_DISABLE_ASYNC" => None, + | "NS_SWIFT_DISABLE_ASYNC" + | "CP_STRUCT_REF" => None, // Possibly interesting? "DISPATCH_COLD" => None, "DISPATCH_MALLOC" => None, diff --git a/crates/objc2/src/lib.rs b/crates/objc2/src/lib.rs index b2fd760bf..ae8b65b6f 100644 --- a/crates/objc2/src/lib.rs +++ b/crates/objc2/src/lib.rs @@ -65,17 +65,17 @@ //! //! ## Supported operating systems //! -//! - macOS: `10.12-15.5` -//! - iOS: `10.0-18.5` (including iPadOS and Mac Catalyst) -//! - tvOS: `10.0-18.5` -//! - watchOS: `5.0-11.5` -//! - visionOS: `1.0-2.5` +//! - macOS: `10.12-26.0` +//! - iOS: `10.0-26.0` (including iPadOS and Mac Catalyst) +//! - tvOS: `10.0-26.0` +//! - watchOS: `5.0-26.0` +//! - visionOS: `1.0-26.0` //! //! The minimum versions are the same as those supported by `rustc`. Higher //! versions will also work, but the framework crates will not have bindings //! available for newer APIs. //! -//! The framework bindings are generated from the SDKs in Xcode 16.4. The +//! The framework bindings are generated from the SDKs in Xcode 26.0. The //! Xcode version are updated usually within a week of [GitHub Actions] //! supporting the new Xcode version, and we try to schedule crate releases //! such that align fairly closely with Xcode updates. We only support stable diff --git a/crates/objc2/src/topics/about_generated/CHANGELOG.md b/crates/objc2/src/topics/about_generated/CHANGELOG.md index 06a7b3f7a..24e7fa867 100644 --- a/crates/objc2/src/topics/about_generated/CHANGELOG.md +++ b/crates/objc2/src/topics/about_generated/CHANGELOG.md @@ -17,10 +17,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). * Added various missing APIs. ### Changed -* Updated SDK from Xcode 16.3 to 16.4. +* Updated SDK from Xcode 16.3 to 26.0. View the release notes to learn more details: - [16.4](https://developer.apple.com/documentation/xcode-release-notes/xcode-16_4-release-notes) + - [26.0](https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes) Breaking changes are noted elsewhere in this changelog entry. * **BREAKING**: The reply block in `FSVolumeRenameOperations::setVolumeName_replyHandler` now diff --git a/crates/objc2/src/topics/about_generated/list_unsupported.md b/crates/objc2/src/topics/about_generated/list_unsupported.md index 79a657702..cdd466d6d 100644 --- a/crates/objc2/src/topics/about_generated/list_unsupported.md +++ b/crates/objc2/src/topics/about_generated/list_unsupported.md @@ -1,11 +1,11 @@ | Framework | Why is this unsupported? | | --- | --- | -| `AGL` | OpenGL-specific, use Metal instead. | | `Accelerate` | Very C-centric, hard for us to map. | | `ActivityKit` | Swift-only. | | `AdAttributionKit` | Swift-only. | | `AddressBook` | Deprecated, use Contacts instead. | | `AddressBookUI` | Deprecated, use Contacts instead. | +| `AlarmKit` | Mostly Swift-only. | | `AppIntents` | Swift-only. | | `AppleScriptKit` | Basically empty nowadays. | | `AppleScriptObjC` | Basically empty nowadays. | @@ -29,6 +29,7 @@ | `CreateMLComponents` | Swift-only. | | `CryptoKit` | Swift-only. | | `DVDPlayback` | Deprecated, use AVKit/AVFoundation instead. | +| `DeclaredAgeRange` | Swift-only. | | `DeveloperToolsSupport` | Swift-only. | | `DeviceActivity` | Swift-only. | | `DeviceDiscoveryUI` | Needs Network first. | @@ -37,18 +38,25 @@ | `DiscRecordingUI` | Deprecated, use AVKit/AVFoundation instead. | | `DockKit` | Swift-only. | | `DriverKit` | Uses C++ classes. | +| `EnergyKit` | Swift-only. | | `ExtensionFoundation` | Swift-only. | | `FamilyControls` | Swift-only. | | `FinanceKit` | Swift-only. | | `FinanceKitUI` | Swift-only. | | `ForceFeedback` | Very C-centric and old. | +| `FoundationModels` | Swift-only. | | `GLKit` | OpenGL-specific, use Metal instead. | | `GLUT` | OpenGL-specific, use Metal instead. | | `GSS` | Very C-centric and old. | +| `GameSave` | TODO. | +| `GeoToolbox` | Swift-only. | | `GroupActivities` | Swift-only. | | `Hypervisor` | Very low-level, consider crates like `applevisor` instead. | | `ICADevices` | Deprecated, use ImageCaptureCore instead. | +| `IdentityDocumentServices` | Swift-only. | +| `IdentityDocumentServicesUI` | Swift-only. | | `ImagePlayground` | Swift-only. | +| `ImmersiveMediaSupport` | Swift-only. | | `InstallerPlugins` | Deprecated. | | `InstantMessage` | Deprecated in macOS 10.9. | | `JavaNativeFoundation` | Basically empty. | @@ -69,7 +77,9 @@ | `Matter` | Mostly available [here](https://github.com/project-chip/connectedhomeip). | | `MatterSupport` | Swift-only. | | `MediaLibrary` | Deprecated, use PhotoKit instead. | +| `MeshNetFramework` | Weirdly incomplete. | | `Message` | Basically empty. | +| `MetalPerformancePrimitives` | Header-only framework (no symbols). | | `MobileCoreServices` | Deprecated, use CoreServices + UniformTypeIdentifiers instead. | | `MusicKit` | Swift-only. | | `NetFS` | Deprecated, use macFUSE or FSKit instead (probably). | @@ -79,11 +89,14 @@ | `OpenGL` | OpenGL-specific, use Metal instead. | | `OpenGLES` | OpenGL-specific, use Metal instead. | | `PCSC` | Too low-level, consider crates like `pcsc` instead. | +| `PaperKit` | Swift-only. | +| `PermissionKit` | Swift-only. | | `ProximityReader` | Swift-only. | | `ProximityReaderStub` | Basically empty. | | `QTKit` | No headers present in Xcode's SDK. | | `RealityFoundation` | Swift-only. | | `RealityKit` | Swift-only. | +| `RelevanceKit` | Swift-only. | | `RoomPlan` | Swift-only. | | `Ruby` | Very C-centric and old. | | `SecureElementCredential` | Swift-only. | @@ -99,15 +112,21 @@ | `TabletopKit` | Swift-only. | | `TabularData` | Swift-only. | | `Tcl` | Very C-centric and old. | +| `TelephonyMessagingKit` | Swift-only. | | `TipKit` | Swift-only. | | `Tk` | Very C-centric and old. | +| `TouchControls` | TODO. | | `Translation` | Swift-only. | | `TranslationUIProvider` | Swift-only. | | `Twitter` | Deprecated, use Social instead. | | `VideoDecodeAcceleration` | Very C-centric and old. | +| `VisionEntitlementServices` | Mostly Swift-only. | | `VisionKit` | Swift-only. | +| `VisualIntelligence` | Swift-only. | | `WeatherKit` | Swift-only. | +| `WiFiAware` | Swift-only. | | `WidgetKit` | Mostly Swift-only. | +| `WirelessInsights` | Swift-only. | | `WorkoutKit` | Swift-only. | | `iAd` | Disabled on server side, use AdServices instead. | | `vecLib` | Very C-centric and old. | diff --git a/crates/test-frameworks/Cargo.toml b/crates/test-frameworks/Cargo.toml index b4fbd76f9..b764205ea 100644 --- a/crates/test-frameworks/Cargo.toml +++ b/crates/test-frameworks/Cargo.toml @@ -289,7 +289,7 @@ objc2-social = ["dep:objc2-social"] objc2-sound-analysis = ["dep:objc2-sound-analysis"] objc2-speech = ["dep:objc2-speech"] objc2-sprite-kit = ["dep:objc2-sprite-kit"] -objc2-store-kit = ["dep:objc2-store-kit"] +objc2-store-kit = ["dep:objc2-store-kit", "objc2-store-kit?/objc2-background-assets"] objc2-symbols = ["dep:objc2-symbols"] objc2-system-configuration = ["dep:objc2-system-configuration"] objc2-system-extensions = ["dep:objc2-system-extensions"] diff --git a/framework-crates/objc2-accessibility/Cargo.toml b/framework-crates/objc2-accessibility/Cargo.toml index 232e7ff10..df2ce6e91 100644 --- a/framework-crates/objc2-accessibility/Cargo.toml +++ b/framework-crates/objc2-accessibility/Cargo.toml @@ -48,6 +48,7 @@ default = [ "std", "AXAudiograph", "AXBrailleMap", + "AXBrailleTranslator", "AXColorUtilities", "AXCustomContent", "AXFeatureOverrideSessionManager", @@ -77,6 +78,14 @@ AXAudiograph = [ "objc2-foundation/NSValue", ] AXBrailleMap = ["objc2-foundation/NSObject"] +AXBrailleTranslator = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSLocale", + "objc2-foundation/NSObject", + "objc2-foundation/NSSet", + "objc2-foundation/NSString", + "objc2-foundation/NSValue", +] AXColorUtilities = ["objc2-foundation/NSString"] AXCustomContent = [ "objc2-foundation/NSArray", diff --git a/framework-crates/objc2-accessory-setup-kit/Cargo.toml b/framework-crates/objc2-accessory-setup-kit/Cargo.toml index d8de11103..c77fa1383 100644 --- a/framework-crates/objc2-accessory-setup-kit/Cargo.toml +++ b/framework-crates/objc2-accessory-setup-kit/Cargo.toml @@ -43,6 +43,7 @@ default = [ "ASDiscoveryDescriptor", "ASErrors", "ASPickerDisplayItem", + "ASPickerDisplaySettings", "bitflags", "block2", "objc2-core-bluetooth", @@ -70,7 +71,7 @@ ASAccessorySettings = [ "objc2-foundation/NSData", "objc2-foundation/NSString", ] -ASCommon = [] +ASCommon = ["objc2-foundation/NSString"] ASDiscoveryDescriptor = [ "objc2-foundation/NSData", "objc2-foundation/NSString", @@ -84,3 +85,4 @@ ASPickerDisplayItem = [ "objc2-foundation/NSString", "objc2-foundation/NSUUID", ] +ASPickerDisplaySettings = ["objc2-foundation/NSDate"] diff --git a/framework-crates/objc2-app-kit/Cargo.toml b/framework-crates/objc2-app-kit/Cargo.toml index 9535ebe65..022c3c030 100644 --- a/framework-crates/objc2-app-kit/Cargo.toml +++ b/framework-crates/objc2-app-kit/Cargo.toml @@ -46,6 +46,7 @@ objc2-core-graphics = { workspace = true, optional = true, features = [ "CGColor", "CGColorSpace", "CGContext", + "CGDirectDisplay", "CGEventTypes", "CGFont", "CGImage", @@ -103,6 +104,7 @@ default = [ "NSApplicationScripting", "NSArrayController", "NSAttributedString", + "NSBackgroundExtensionView", "NSBezierPath", "NSBitmapImageRep", "NSBox", @@ -169,6 +171,7 @@ default = [ "NSForm", "NSFormCell", "NSGestureRecognizer", + "NSGlassEffectView", "NSGlyphGenerator", "NSGlyphInfo", "NSGradient", @@ -185,6 +188,7 @@ default = [ "NSInputManager", "NSInputServer", "NSInterfaceStyle", + "NSItemBadge", "NSItemProvider", "NSKeyValueBinding", "NSLayoutAnchor", @@ -281,6 +285,7 @@ default = [ "NSSplitView", "NSSplitViewController", "NSSplitViewItem", + "NSSplitViewItemAccessoryViewController", "NSStackView", "NSStatusBar", "NSStatusBarButton", @@ -333,6 +338,7 @@ default = [ "NSTextView", "NSTextViewportLayoutController", "NSTintConfiguration", + "NSTintProminence", "NSTitlebarAccessoryViewController", "NSTokenField", "NSTokenFieldCell", @@ -356,6 +362,7 @@ default = [ "NSUserInterfaceValidation", "NSView", "NSViewController", + "NSViewLayoutRegion", "NSVisualEffectView", "NSWindow", "NSWindowController", @@ -525,6 +532,12 @@ NSAttributedString = [ "objc2-foundation/NSString", "objc2-foundation/NSURL", ] +NSBackgroundExtensionView = [ + "objc2-foundation/NSCoder", + "objc2-foundation/NSGeometry", + "objc2-foundation/NSObject", + "objc2-foundation/objc2-core-foundation", +] NSBezierPath = [ "objc2-foundation/NSAffineTransform", "objc2-foundation/NSGeometry", @@ -1005,6 +1018,13 @@ NSFormCell = [ "objc2-foundation/objc2-core-foundation", ] NSGestureRecognizer = [ + "objc2-foundation/NSCoder", + "objc2-foundation/NSGeometry", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", + "objc2-foundation/objc2-core-foundation", +] +NSGlassEffectView = [ "objc2-foundation/NSCoder", "objc2-foundation/NSGeometry", "objc2-foundation/NSObject", @@ -1109,6 +1129,7 @@ NSInputServer = [ "objc2-foundation/objc2-core-foundation", ] NSInterfaceStyle = ["objc2-foundation/NSString"] +NSItemBadge = ["objc2-foundation/NSString"] NSItemProvider = [ "objc2-foundation/NSGeometry", "objc2-foundation/NSItemProvider", @@ -1738,7 +1759,16 @@ NSSplitViewController = [ "objc2-foundation/NSString", "objc2-foundation/objc2-core-foundation", ] -NSSplitViewItem = ["objc2-foundation/NSObject"] +NSSplitViewItem = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", +] +NSSplitViewItemAccessoryViewController = [ + "objc2-foundation/NSBundle", + "objc2-foundation/NSCoder", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] NSStackView = [ "objc2-foundation/NSArray", "objc2-foundation/NSCoder", @@ -2083,6 +2113,7 @@ NSTextView = [ ] NSTextViewportLayoutController = [] NSTintConfiguration = ["objc2-foundation/NSObject"] +NSTintProminence = [] NSTitlebarAccessoryViewController = [ "objc2-foundation/NSBundle", "objc2-foundation/NSCoder", @@ -2233,6 +2264,10 @@ NSViewController = [ "objc2-foundation/NSString", "objc2-foundation/objc2-core-foundation", ] +NSViewLayoutRegion = [ + "objc2-foundation/NSGeometry", + "objc2-foundation/objc2-core-foundation", +] NSVisualEffectView = [ "objc2-foundation/NSCoder", "objc2-foundation/NSGeometry", diff --git a/framework-crates/objc2-application-services/Cargo.toml b/framework-crates/objc2-application-services/Cargo.toml index 269787cee..3487b834d 100644 --- a/framework-crates/objc2-application-services/Cargo.toml +++ b/framework-crates/objc2-application-services/Cargo.toml @@ -65,6 +65,7 @@ default = [ "AXUIElement", "AXValue", "AXValueConstants", + "AXWebConstants", "Accessibility", "HIServices", "HIShape", @@ -118,6 +119,7 @@ AXUIElement = [ ] AXValue = [] AXValueConstants = [] +AXWebConstants = [] Accessibility = [] HIServices = [] HIShape = ["objc2-core-foundation/CFCGTypes"] diff --git a/framework-crates/objc2-ar-kit/Cargo.toml b/framework-crates/objc2-ar-kit/Cargo.toml index 80e11193d..d5ad7b287 100644 --- a/framework-crates/objc2-ar-kit/Cargo.toml +++ b/framework-crates/objc2-ar-kit/Cargo.toml @@ -22,6 +22,7 @@ dispatch2 = { workspace = true, optional = true, features = ["alloc"] } objc2 = { workspace = true, optional = true, features = ["std"] } objc2-av-foundation = { workspace = true, optional = true, features = [ "AVCaptureDevice", + "AVCapturePhotoOutput", "AVDepthData", ] } objc2-core-foundation = { workspace = true, optional = true, features = ["CFCGTypes"] } @@ -125,7 +126,6 @@ default = [ "ARPlaneDetectionTypes", "ARPlaneGeometry", "ARPointCloud", - "ARQuickLookPreviewItem", "ARRaycastQuery", "ARRaycastResult", "ARReferenceImage", @@ -220,7 +220,6 @@ ARPlaneAnchor = [] ARPlaneDetectionTypes = ["bitflags"] ARPlaneGeometry = [] ARPointCloud = [] -ARQuickLookPreviewItem = [] ARRaycastQuery = [] ARRaycastResult = [] ARReferenceImage = [] diff --git a/framework-crates/objc2-ar-kit/translation-config.toml b/framework-crates/objc2-ar-kit/translation-config.toml index 0055c7c47..d3351ebb3 100644 --- a/framework-crates/objc2-ar-kit/translation-config.toml +++ b/framework-crates/objc2-ar-kit/translation-config.toml @@ -5,6 +5,8 @@ maccatalyst = "14.0" ios = "11.0" visionos = "1.0" +external.UIInterfaceOrientation.module = "UIKit.UIOrientation" + # Needs QLPreviewItem from QuickLook class.ARQuickLookPreviewItem.skipped-protocols = ["QLPreviewItem"] diff --git a/framework-crates/objc2-audio-toolbox/translation-config.toml b/framework-crates/objc2-audio-toolbox/translation-config.toml index da596d57f..1e2ba1ac1 100644 --- a/framework-crates/objc2-audio-toolbox/translation-config.toml +++ b/framework-crates/objc2-audio-toolbox/translation-config.toml @@ -138,3 +138,7 @@ fn.AUMIDIControllerHandleMIDI.skipped = true fn.AUMIDIControllerConnectSource.skipped = true fn.AUMIDIControllerDisconnectSource.skipped = true fn.AUMIDIControllerExportXMLNames.skipped = true + +# Needs CASpatialAudioExperience, which is not available on macOS (where header-translator runs). +class.AUAudioUnit.methods.intendedSpatialExperience.skipped = true +class.AUAudioUnit.methods."setIntendedSpatialExperience:".skipped = true diff --git a/framework-crates/objc2-authentication-services/Cargo.toml b/framework-crates/objc2-authentication-services/Cargo.toml index bf980b446..b983400d2 100644 --- a/framework-crates/objc2-authentication-services/Cargo.toml +++ b/framework-crates/objc2-authentication-services/Cargo.toml @@ -304,6 +304,8 @@ ASAuthorizationProviderExtensionLoginManager = [ ASAuthorizationProviderExtensionRegistrationHandler = [ "bitflags", "objc2-foundation/NSArray", + "objc2-foundation/NSData", + "objc2-foundation/NSDictionary", "objc2-foundation/NSString", "objc2-foundation/NSValue", ] @@ -433,8 +435,10 @@ ASCredentialProviderViewController = [ "objc2-foundation/NSArray", "objc2-foundation/NSBundle", "objc2-foundation/NSCoder", + "objc2-foundation/NSData", "objc2-foundation/NSExtensionContext", "objc2-foundation/NSObject", + "objc2-foundation/NSString", ] ASCredentialRequest = ["objc2-foundation/NSObject"] ASCredentialServiceIdentifier = [ diff --git a/framework-crates/objc2-av-foundation/Cargo.toml b/framework-crates/objc2-av-foundation/Cargo.toml index 3b428354b..2347cf7cf 100644 --- a/framework-crates/objc2-av-foundation/Cargo.toml +++ b/framework-crates/objc2-av-foundation/Cargo.toml @@ -25,6 +25,10 @@ dispatch2 = { workspace = true, optional = true, features = [ ] } objc2 = { workspace = true, features = ["std"] } objc2-avf-audio = { workspace = true, optional = true, features = ["AVAudioSessionRoute"] } +objc2-core-audio-types = { workspace = true, optional = true, features = [ + "CoreAudioBaseTypes", + "objc2", +] } objc2-core-foundation = { workspace = true, optional = true, features = [ "CFCGTypes", "CFDate", @@ -184,6 +188,7 @@ default = [ "AVCaptureSession", "AVCaptureSessionPreset", "AVCaptureSlider", + "AVCaptureSpatialAudioMetadataSampleGenerator", "AVCaptureStillImageOutput", "AVCaptureSystemExposureBiasSlider", "AVCaptureSystemPressure", @@ -214,6 +219,7 @@ default = [ "AVMovie", "AVMovieTrack", "AVOutputSettingsAssistant", + "AVPlaybackCoordinationMedium", "AVPlaybackCoordinator", "AVPlayer", "AVPlayerInterstitialEventController", @@ -238,6 +244,7 @@ default = [ "AVSampleBufferVideoRenderer", "AVSampleCursor", "AVSemanticSegmentationMatte", + "AVSpatialVideoConfiguration", "AVSynchronizedLayer", "AVTextStyleRule", "AVTime", @@ -251,6 +258,7 @@ default = [ "block2", "dispatch2", "objc2-avf-audio", + "objc2-core-audio-types", "objc2-core-foundation", "objc2-core-graphics", "objc2-core-image", @@ -265,6 +273,7 @@ bitflags = ["dep:bitflags"] block2 = ["dep:block2"] dispatch2 = ["dep:dispatch2"] objc2-avf-audio = ["dep:objc2-avf-audio"] +objc2-core-audio-types = ["dep:objc2-core-audio-types"] objc2-core-foundation = ["dep:objc2-core-foundation"] objc2-core-graphics = ["dep:objc2-core-graphics"] objc2-core-image = ["dep:objc2-core-image"] @@ -289,7 +298,11 @@ AVAsset = [ "objc2-foundation/NSURL", "objc2-foundation/NSUUID", ] -AVAssetCache = ["objc2-foundation/NSArray"] +AVAssetCache = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSDictionary", + "objc2-foundation/NSString", +] AVAssetDownloadStorageManager = [ "objc2-foundation/NSDate", "objc2-foundation/NSObject", @@ -371,6 +384,7 @@ AVAssetVariant = [ "objc2-foundation/NSObject", "objc2-foundation/NSPredicate", "objc2-foundation/NSString", + "objc2-foundation/NSURL", "objc2-foundation/NSValue", ] AVAssetWriter = [ @@ -537,6 +551,7 @@ AVCaptureSlider = [ "objc2-foundation/NSString", "objc2-foundation/NSValue", ] +AVCaptureSpatialAudioMetadataSampleGenerator = [] AVCaptureStillImageOutput = [ "objc2-foundation/NSArray", "objc2-foundation/NSData", @@ -677,10 +692,12 @@ AVOutputSettingsAssistant = [ "objc2-foundation/NSDictionary", "objc2-foundation/NSString", ] +AVPlaybackCoordinationMedium = ["objc2-foundation/NSArray"] AVPlaybackCoordinator = [ "bitflags", "objc2-foundation/NSArray", "objc2-foundation/NSDate", + "objc2-foundation/NSError", "objc2-foundation/NSNotification", "objc2-foundation/NSString", "objc2-foundation/NSUUID", @@ -699,6 +716,7 @@ AVPlayer = [ AVPlayerInterstitialEventController = [ "bitflags", "objc2-foundation/NSArray", + "objc2-foundation/NSBundle", "objc2-foundation/NSDate", "objc2-foundation/NSDictionary", "objc2-foundation/NSNotification", @@ -790,6 +808,7 @@ AVSampleBufferRenderSynchronizer = [ "objc2-foundation/NSValue", ] AVSampleBufferVideoRenderer = [ + "objc2-foundation/NSDictionary", "objc2-foundation/NSError", "objc2-foundation/NSNotification", "objc2-foundation/NSString", @@ -805,6 +824,12 @@ AVSemanticSegmentationMatte = [ "objc2-foundation/NSError", "objc2-foundation/NSString", ] +AVSpatialVideoConfiguration = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSDictionary", + "objc2-foundation/NSString", + "objc2-foundation/NSValue", +] AVSynchronizedLayer = ["objc2-foundation/NSObject"] AVTextStyleRule = [ "objc2-foundation/NSArray", diff --git a/framework-crates/objc2-av-foundation/translation-config.toml b/framework-crates/objc2-av-foundation/translation-config.toml index ac2dc671b..576d2520a 100644 --- a/framework-crates/objc2-av-foundation/translation-config.toml +++ b/framework-crates/objc2-av-foundation/translation-config.toml @@ -16,6 +16,12 @@ external.CIBarcodeDescriptor.module = "CoreImage.CIBarcodeDescriptor" # Only available on iOS class.AVAsset.methods.preferredDisplayCriteria.skipped = true +# Needs CASpatialAudioExperience, which is not available on macOS (where header-translator runs). +class.AVPlayer.methods.intendedSpatialAudioExperience.skipped = true +class.AVPlayer.methods."setIntendedSpatialAudioExperience:".skipped = true +class.AVSampleBufferRenderSynchronizer.methods.intendedSpatialAudioExperience.skipped = true +class.AVSampleBufferRenderSynchronizer.methods."setIntendedSpatialAudioExperience:".skipped = true + # CG*Ref as error return is not yet supported class.AVAssetImageGenerator.methods."copyCGImageAtTime:actualTime:error:".skipped = true protocol.AVCapturePhotoCaptureDelegate.methods."captureOutput:didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSettings:bracketSettings:error:".skipped = true diff --git a/framework-crates/objc2-av-routing/Cargo.toml b/framework-crates/objc2-av-routing/Cargo.toml index 95be6c4f4..956a0a1fc 100644 --- a/framework-crates/objc2-av-routing/Cargo.toml +++ b/framework-crates/objc2-av-routing/Cargo.toml @@ -40,6 +40,7 @@ default = [ "AVCustomRoutingController", "AVCustomRoutingEvent", "AVRoutingDefines", + "AVRoutingPlaybackArbiter", "block2", "objc2-uniform-type-identifiers", ] @@ -58,3 +59,4 @@ AVCustomRoutingController = [ ] AVCustomRoutingEvent = [] AVRoutingDefines = [] +AVRoutingPlaybackArbiter = [] diff --git a/framework-crates/objc2-avf-audio/Cargo.toml b/framework-crates/objc2-avf-audio/Cargo.toml index 7f8716ec9..412926aa5 100644 --- a/framework-crates/objc2-avf-audio/Cargo.toml +++ b/framework-crates/objc2-avf-audio/Cargo.toml @@ -201,7 +201,6 @@ AVAudioSession = [ "objc2-foundation/NSArray", "objc2-foundation/NSDate", "objc2-foundation/NSError", - "objc2-foundation/NSNotification", "objc2-foundation/NSString", ] AVAudioSessionDeprecated = ["objc2-foundation/NSError"] @@ -213,6 +212,7 @@ AVAudioSessionRoute = [ ] AVAudioSessionTypes = [ "bitflags", + "objc2-foundation/NSNotification", "objc2-foundation/NSString", ] AVAudioSettings = ["objc2-foundation/NSString"] diff --git a/framework-crates/objc2-avf-audio/translation-config.toml b/framework-crates/objc2-avf-audio/translation-config.toml index 048bd3d96..60f1822c2 100644 --- a/framework-crates/objc2-avf-audio/translation-config.toml +++ b/framework-crates/objc2-avf-audio/translation-config.toml @@ -36,6 +36,12 @@ class.AVAudioSequencer.methods."dataWithSMPTEResolution:error:".skipped = true # Needs AppKit or UIKit class.AVAudioUnitComponent.methods.icon.skipped = true +# Needs CASpatialAudioExperience, which is not available on macOS (where header-translator runs). +class.AVAudioOutputNode.methods.intendedSpatialExperience.skipped = true +class.AVAudioOutputNode.methods."setIntendedSpatialExperience:".skipped = true +class.AVAudioPlayer.methods.intendedSpatialExperience.skipped = true +class.AVAudioPlayer.methods."setIntendedSpatialExperience:".skipped = true + class.AVAudioBuffer.skipped-protocols = ["NSMutableCopying"] class.AVAudioPCMBuffer.skipped-protocols = ["NSMutableCopying"] class.AVAudioCompressedBuffer.skipped-protocols = ["NSMutableCopying"] diff --git a/framework-crates/objc2-background-assets/Cargo.toml b/framework-crates/objc2-background-assets/Cargo.toml index 8d3cf97af..3db91d931 100644 --- a/framework-crates/objc2-background-assets/Cargo.toml +++ b/framework-crates/objc2-background-assets/Cargo.toml @@ -16,6 +16,7 @@ license.workspace = true workspace = true [dependencies] +bitflags = { workspace = true, optional = true, features = ["std"] } block2 = { workspace = true, optional = true, features = ["alloc"] } objc2 = { workspace = true, features = ["std"] } objc2-foundation = { workspace = true, features = ["alloc"] } @@ -35,23 +36,51 @@ targets = [ default = [ "std", "BAAppExtensionInfo", + "BAAssetPack", + "BAAssetPackManager", + "BAAssetPackManifest", + "BAAssetPackStatus", "BABase", "BADownload", "BADownloadManager", "BADownloaderExtension", "BAError", + "BAManagedAssetPackDownloadDelegate", + "BAManagedDownloaderExtension", + "BAManagedError", "BATypes", "BAURLDownload", + "bitflags", "block2", ] std = ["alloc"] alloc = [] +bitflags = ["dep:bitflags"] block2 = ["dep:block2"] BAAppExtensionInfo = [ "objc2-foundation/NSObject", "objc2-foundation/NSValue", ] +BAAssetPack = [ + "objc2-foundation/NSData", + "objc2-foundation/NSString", +] +BAAssetPackManager = [ + "objc2-foundation/NSData", + "objc2-foundation/NSError", + "objc2-foundation/NSSet", + "objc2-foundation/NSString", + "objc2-foundation/NSURL", +] +BAAssetPackManifest = [ + "objc2-foundation/NSData", + "objc2-foundation/NSError", + "objc2-foundation/NSSet", + "objc2-foundation/NSString", + "objc2-foundation/NSURL", +] +BAAssetPackStatus = ["bitflags"] BABase = [] BADownload = [ "objc2-foundation/NSObject", @@ -75,6 +104,15 @@ BADownloaderExtension = [ "objc2-foundation/NSURLSession", ] BAError = ["objc2-foundation/NSString"] +BAManagedAssetPackDownloadDelegate = [ + "objc2-foundation/NSError", + "objc2-foundation/NSProgress", +] +BAManagedDownloaderExtension = [] +BAManagedError = [ + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] BATypes = [] BAURLDownload = [ "objc2-foundation/NSObject", diff --git a/framework-crates/objc2-background-assets/translation-config.toml b/framework-crates/objc2-background-assets/translation-config.toml index 510c65da5..897b028c1 100644 --- a/framework-crates/objc2-background-assets/translation-config.toml +++ b/framework-crates/objc2-background-assets/translation-config.toml @@ -5,3 +5,6 @@ macos = "13.0" maccatalyst = "16.0" ios = "16.0" visionos = "1.0" + +# unknown error result type Primitive(Int) +class.BAAssetPackManager.methods."fileDescriptorForPath:searchingInAssetPackWithIdentifier:error:".skipped = true diff --git a/framework-crates/objc2-background-tasks/Cargo.toml b/framework-crates/objc2-background-tasks/Cargo.toml index c2255b6ef..7bef37494 100644 --- a/framework-crates/objc2-background-tasks/Cargo.toml +++ b/framework-crates/objc2-background-tasks/Cargo.toml @@ -16,6 +16,7 @@ license.workspace = true workspace = true [dependencies] +bitflags = { workspace = true, optional = true, features = ["std"] } block2 = { workspace = true, optional = true, features = ["alloc"] } dispatch2 = { workspace = true, optional = true, features = [ "alloc", @@ -42,17 +43,23 @@ default = [ "BGTask", "BGTaskRequest", "BGTaskScheduler", + "bitflags", "block2", "dispatch2", ] std = ["alloc"] alloc = [] +bitflags = ["dep:bitflags"] block2 = ["dep:block2"] dispatch2 = ["dep:dispatch2"] BGDefines = [] -BGTask = ["objc2-foundation/NSString"] +BGTask = [ + "objc2-foundation/NSProgress", + "objc2-foundation/NSString", +] BGTaskRequest = [ + "bitflags", "objc2-foundation/NSDate", "objc2-foundation/NSFileManager", "objc2-foundation/NSObject", diff --git a/framework-crates/objc2-browser-engine-core/Cargo.toml b/framework-crates/objc2-browser-engine-core/Cargo.toml index 5c50dcb51..465c38f5f 100644 --- a/framework-crates/objc2-browser-engine-core/Cargo.toml +++ b/framework-crates/objc2-browser-engine-core/Cargo.toml @@ -17,6 +17,16 @@ workspace = true [dependencies] libc = { workspace = true, optional = true } +objc2 = { workspace = true, optional = true, features = ["std"] } +objc2-avf-audio = { workspace = true, optional = true, features = [ + "AVAudioSession", + "AVAudioSessionRoute", +] } +objc2-foundation = { workspace = true, optional = true, features = [ + "NSArray", + "NSError", + "alloc", +] } [package.metadata.docs.rs] default-target = "aarch64-apple-ios" @@ -29,13 +39,21 @@ targets = [ [features] default = [ "std", + "BEAudioSession", "BEMemory", "BEkevent", "libc", + "objc2", + "objc2-avf-audio", + "objc2-foundation", ] std = ["alloc"] alloc = [] libc = ["dep:libc"] +objc2 = ["dep:objc2"] +objc2-avf-audio = ["dep:objc2-avf-audio"] +objc2-foundation = ["dep:objc2-foundation"] +BEAudioSession = [] BEMemory = [] BEkevent = [] diff --git a/framework-crates/objc2-browser-engine-core/translation-config.toml b/framework-crates/objc2-browser-engine-core/translation-config.toml index 666f088ed..43e5aade4 100644 --- a/framework-crates/objc2-browser-engine-core/translation-config.toml +++ b/framework-crates/objc2-browser-engine-core/translation-config.toml @@ -6,6 +6,9 @@ custom-lib-rs = true # macos = "14.3" ios = "17.4" +external.AVAudioSession.module = "AVFAudio.AVAudioSession" +external.AVAudioSessionPortDescription.module = "AVFAudio.AVAudioSessionRoute" + # Empty module.BEMacros.skipped = true diff --git a/framework-crates/objc2-browser-engine-kit/Cargo.toml b/framework-crates/objc2-browser-engine-kit/Cargo.toml index 4aa023eab..9b106c727 100644 --- a/framework-crates/objc2-browser-engine-kit/Cargo.toml +++ b/framework-crates/objc2-browser-engine-kit/Cargo.toml @@ -18,6 +18,7 @@ workspace = true [dependencies] bitflags = { workspace = true, optional = true, features = ["std"] } block2 = { workspace = true, optional = true, features = ["alloc"] } +libc = { workspace = true, optional = true } objc2 = { workspace = true, features = ["std"] } objc2-av-foundation = { workspace = true, optional = true, features = ["AVCaptureSession"] } objc2-core-foundation = { workspace = true, optional = true, features = [ @@ -42,12 +43,14 @@ default = [ "std", "BEAccessibility", "BEAccessibilityConstants", + "BEAccessibilityRemoteElement", "BEAccessibilityTextMarker", "BEAutoFillTextSuggestion", "BECapability", "BEContextMenuConfiguration", "BEDownloads", "BEDragInteraction", + "BEExtensionProcess", "BEKeyEntry", "BEKeyEntryContext", "BELayerHierarchy", @@ -71,6 +74,7 @@ default = [ "BEWebContentProcess", "bitflags", "block2", + "libc", "objc2-av-foundation", "objc2-core-foundation", "objc2-quartz-core", @@ -80,6 +84,7 @@ std = ["alloc"] alloc = [] bitflags = ["dep:bitflags"] block2 = ["dep:block2"] +libc = ["dep:libc"] objc2-av-foundation = ["dep:objc2-av-foundation"] objc2-core-foundation = ["dep:objc2-core-foundation"] objc2-quartz-core = ["dep:objc2-quartz-core"] @@ -92,6 +97,7 @@ BEAccessibility = [ "objc2-foundation/NSString", ] BEAccessibilityConstants = ["objc2-ui-kit/UIAccessibilityConstants"] +BEAccessibilityRemoteElement = ["objc2-foundation/NSString"] BEAccessibilityTextMarker = [ "objc2-foundation/NSObject", "objc2-foundation/NSRange", @@ -129,14 +135,20 @@ BEDragInteraction = [ "objc2-ui-kit/UIDragSession", "objc2-ui-kit/UIInteraction", ] +BEExtensionProcess = [] BEKeyEntry = [ "objc2-foundation/NSDate", "objc2-ui-kit/UIKey", ] BEKeyEntryContext = [] BELayerHierarchy = ["objc2-foundation/NSError"] -BELayerHierarchyHandle = ["objc2-foundation/NSObject"] +BELayerHierarchyHandle = [ + "objc2-foundation/NSData", + "objc2-foundation/NSError", + "objc2-foundation/NSObject", +] BELayerHierarchyHostingTransactionCoordinator = [ + "objc2-foundation/NSData", "objc2-foundation/NSError", "objc2-foundation/NSObject", "objc2-ui-kit/UIResponder", diff --git a/framework-crates/objc2-browser-engine-kit/translation-config.toml b/framework-crates/objc2-browser-engine-kit/translation-config.toml index eee417b07..719103a76 100644 --- a/framework-crates/objc2-browser-engine-kit/translation-config.toml +++ b/framework-crates/objc2-browser-engine-kit/translation-config.toml @@ -19,6 +19,7 @@ class.BEMediaEnvironment.methods.createXPCRepresentation.skipped = true class.BENetworkingProcess.methods."makeLibXPCConnectionError:".skipped = true class.BERenderingProcess.methods."makeLibXPCConnectionError:".skipped = true class.BEWebContentProcess.methods."makeLibXPCConnectionError:".skipped = true +protocol.BEExtensionProcess.methods."makeLibXPCConnectionError:".skipped = true # Incorrectly marked as returning non-null # Leads to `error: unknown error result type` diff --git a/framework-crates/objc2-car-play/Cargo.toml b/framework-crates/objc2-car-play/Cargo.toml index 7663440ff..4ff49a587 100644 --- a/framework-crates/objc2-car-play/Cargo.toml +++ b/framework-crates/objc2-car-play/Cargo.toml @@ -89,6 +89,12 @@ default = [ "CPLane", "CPLaneGuidance", "CPListImageRowItem", + "CPListImageRowItemCardElement", + "CPListImageRowItemCondensedElement", + "CPListImageRowItemElement", + "CPListImageRowItemGridElement", + "CPListImageRowItemImageGridElement", + "CPListImageRowItemRowElement", "CPListItem", "CPListItemTypes", "CPListSection", @@ -219,6 +225,12 @@ CPListImageRowItem = [ "objc2-foundation/NSArray", "objc2-foundation/NSString", ] +CPListImageRowItemCardElement = ["objc2-foundation/NSString"] +CPListImageRowItemCondensedElement = ["objc2-foundation/NSString"] +CPListImageRowItemElement = [] +CPListImageRowItemGridElement = [] +CPListImageRowItemImageGridElement = ["objc2-foundation/NSString"] +CPListImageRowItemRowElement = ["objc2-foundation/NSString"] CPListItem = ["objc2-foundation/NSString"] CPListItemTypes = ["objc2-foundation/NSString"] CPListSection = [ diff --git a/framework-crates/objc2-cinematic/Cargo.toml b/framework-crates/objc2-cinematic/Cargo.toml index 23dee92bd..3ed7e84a5 100644 --- a/framework-crates/objc2-cinematic/Cargo.toml +++ b/framework-crates/objc2-cinematic/Cargo.toml @@ -21,6 +21,7 @@ objc2 = { workspace = true, features = ["std"] } objc2-av-foundation = { workspace = true, optional = true, features = [ "AVAsset", "AVAssetTrack", + "AVAudioMix", "AVComposition", "AVTimedMetadataGroup", ] } @@ -72,6 +73,7 @@ default = [ "CNObjectTracker", "CNRenderingSession", "CNScript", + "CNSpatialAudio", "block2", "objc2-av-foundation", "objc2-core-foundation", @@ -121,3 +123,9 @@ CNScript = [ "objc2-foundation/NSObject", "objc2-foundation/NSProgress", ] +CNSpatialAudio = [ + "objc2-foundation/NSData", + "objc2-foundation/NSDictionary", + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] diff --git a/framework-crates/objc2-cloud-kit/Cargo.toml b/framework-crates/objc2-cloud-kit/Cargo.toml index cb6f0c731..53b436d90 100644 --- a/framework-crates/objc2-cloud-kit/Cargo.toml +++ b/framework-crates/objc2-cloud-kit/Cargo.toml @@ -22,6 +22,9 @@ objc2 = { workspace = true, features = ["std"] } objc2-core-location = { workspace = true, optional = true, features = ["CLLocation"] } objc2-foundation = { workspace = true, features = ["alloc"] } +[target.'cfg(not(target_os = "tvos"))'.dependencies] +objc2-contacts = { workspace = true, optional = true, features = ["CNContact"] } + [package.metadata.docs.rs] default-target = "aarch64-apple-darwin" rustc-args = ["--cfg", "docsrs"] # Fix cross-crate link to objc2::topics @@ -76,8 +79,11 @@ default = [ "CKReference", "CKServerChangeToken", "CKShare", + "CKShareAccessRequester", + "CKShareBlockedIdentity", "CKShareMetadata", "CKShareParticipant", + "CKShareRequestAccessOperation", "CKSubscription", "CKSyncEngine", "CKSyncEngineConfiguration", @@ -90,12 +96,14 @@ default = [ "NSItemProvider_CKSharingSupport", "bitflags", "block2", + "objc2-contacts", "objc2-core-location", ] std = ["alloc"] alloc = [] bitflags = ["dep:bitflags"] block2 = ["dep:block2"] +objc2-contacts = ["dep:objc2-contacts"] objc2-core-location = ["dep:objc2-core-location"] CKAcceptSharesOperation = [ @@ -283,14 +291,23 @@ CKShare = [ "objc2-foundation/NSString", "objc2-foundation/NSURL", ] +CKShareAccessRequester = ["objc2-foundation/NSObject"] +CKShareBlockedIdentity = ["objc2-foundation/NSObject"] CKShareMetadata = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] CKShareParticipant = [ + "objc2-foundation/NSDate", "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +CKShareRequestAccessOperation = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSOperation", + "objc2-foundation/NSURL", +] CKSubscription = [ "bitflags", "objc2-foundation/NSArray", diff --git a/framework-crates/objc2-cloud-kit/translation-config.toml b/framework-crates/objc2-cloud-kit/translation-config.toml index 75bd877ae..b97c4bc4d 100644 --- a/framework-crates/objc2-cloud-kit/translation-config.toml +++ b/framework-crates/objc2-cloud-kit/translation-config.toml @@ -7,3 +7,5 @@ ios = "8.0" tvos = "9.0" watchos = "3.0" visionos = "1.0" + +external.CNContact.module = "Contacts.CNContact" diff --git a/framework-crates/objc2-compositor-services/Cargo.toml b/framework-crates/objc2-compositor-services/Cargo.toml index dba19af96..6a8b18c5f 100644 --- a/framework-crates/objc2-compositor-services/Cargo.toml +++ b/framework-crates/objc2-compositor-services/Cargo.toml @@ -24,8 +24,12 @@ objc2-core-foundation = { workspace = true, optional = true, features = [ "objc2", ] } objc2-metal = { workspace = true, optional = true, features = [ + "MTL4CommandEncoder", + "MTL4CommandQueue", + "MTL4RenderCommandEncoder", "MTLAllocation", "MTLCommandBuffer", + "MTLCommandEncoder", "MTLDevice", "MTLPixelFormat", "MTLRasterizationRate", @@ -47,9 +51,11 @@ default = [ "std", "bitflags", "cp_base", + "cp_conditionals", "cp_error", "cp_types", "drawable", + "drawable_render_context", "frame", "frame_timing", "layer_renderer", @@ -59,6 +65,7 @@ default = [ "layer_renderer_properties", "objc2-core-foundation", "objc2-metal", + "tracking_area", "view", ] std = ["alloc"] @@ -68,9 +75,11 @@ objc2-core-foundation = ["dep:objc2-core-foundation"] objc2-metal = ["dep:objc2-metal"] cp_base = [] +cp_conditionals = [] cp_error = [] cp_types = [] drawable = [] +drawable_render_context = [] frame = [] frame_timing = [] layer_renderer = [] @@ -78,4 +87,5 @@ layer_renderer_capabilities = ["bitflags"] layer_renderer_configuration = [] layer_renderer_layout = [] layer_renderer_properties = [] +tracking_area = [] view = [] diff --git a/framework-crates/objc2-core-graphics/Cargo.toml b/framework-crates/objc2-core-graphics/Cargo.toml index 5b8872d0e..4dc96af6c 100644 --- a/framework-crates/objc2-core-graphics/Cargo.toml +++ b/framework-crates/objc2-core-graphics/Cargo.toml @@ -87,6 +87,7 @@ default = [ "CGPath", "CGPattern", "CGRemoteOperation", + "CGRenderingBufferProvider", "CGSession", "CGShading", "CGToneMapping", @@ -116,7 +117,12 @@ objc2-metal = ["dep:objc2-metal"] CGAffineTransform = ["objc2-core-foundation/CFCGTypes"] CGBase = [] -CGBitmapContext = [] +CGBitmapContext = [ + "bitflags", + "objc2-core-foundation/CFByteOrder", + "objc2-core-foundation/CFDictionary", + "objc2-core-foundation/CFError", +] CGColor = [ "objc2-core-foundation/CFCGTypes", "objc2-core-foundation/CFDictionary", @@ -164,7 +170,7 @@ CGDisplayStream = [ "objc2-core-foundation/CFDictionary", "objc2-core-foundation/CFRunLoop", ] -CGEXRToneMappingGamma = [] +CGEXRToneMappingGamma = ["objc2-core-foundation/CFDictionary"] CGError = [] CGEvent = [ "objc2-core-foundation/CFCGTypes", @@ -231,9 +237,10 @@ CGRemoteOperation = [ "objc2-core-foundation/CFDate", "objc2-core-foundation/CFMachPort", ] +CGRenderingBufferProvider = ["objc2-core-foundation/CFData"] CGSession = ["objc2-core-foundation/CFDictionary"] CGShading = ["objc2-core-foundation/CFCGTypes"] -CGToneMapping = [] +CGToneMapping = ["objc2-core-foundation/CFDictionary"] CGWindow = [ "bitflags", "objc2-core-foundation/CFArray", diff --git a/framework-crates/objc2-core-graphics/src/image.rs b/framework-crates/objc2-core-graphics/src/image.rs index f9bf1058c..03860d34c 100644 --- a/framework-crates/objc2-core-graphics/src/image.rs +++ b/framework-crates/objc2-core-graphics/src/image.rs @@ -1,6 +1,6 @@ -use crate::CGBitmapInfo; +use crate::{CGBitmapInfo, CGImageByteOrderInfo}; -#[allow(non_upper_case_globals)] +#[allow(non_upper_case_globals, deprecated)] impl CGBitmapInfo { #[doc(alias = "kCGBitmapByteOrder16Host")] pub const ByteOrder16Host: Self = if cfg!(target_endian = "big") { @@ -16,3 +16,20 @@ impl CGBitmapInfo { Self::ByteOrder32Little }; } + +#[allow(non_upper_case_globals, deprecated)] +impl CGImageByteOrderInfo { + #[doc(alias = "kCGImageByteOrder16Host")] + pub const Order16Host: Self = if cfg!(target_endian = "big") { + Self::Order16Big + } else { + Self::Order16Little + }; + + #[doc(alias = "kCGImageByteOrder32Host")] + pub const Order32Host: Self = if cfg!(target_endian = "big") { + Self::Order32Big + } else { + Self::Order32Little + }; +} diff --git a/framework-crates/objc2-core-graphics/translation-config.toml b/framework-crates/objc2-core-graphics/translation-config.toml index b6c1d9bb7..f9b8147e8 100644 --- a/framework-crates/objc2-core-graphics/translation-config.toml +++ b/framework-crates/objc2-core-graphics/translation-config.toml @@ -44,6 +44,8 @@ static.kCGFontIndexInvalid.use-value = true # Dependent on target endianness static.kCGBitmapByteOrder16Host.skipped = true static.kCGBitmapByteOrder32Host.skipped = true +const.kCGImageByteOrder16Host.skipped = true +const.kCGImageByteOrder32Host.skipped = true # Uses defines from IOKit enum.CGEventFlags.use-value = true diff --git a/framework-crates/objc2-core-haptics/translation-config.toml b/framework-crates/objc2-core-haptics/translation-config.toml index 1eb01c23b..64b67f4d1 100644 --- a/framework-crates/objc2-core-haptics/translation-config.toml +++ b/framework-crates/objc2-core-haptics/translation-config.toml @@ -8,6 +8,10 @@ visionos = "1.0" external.AVAudioSession.module = "AVFAudio.AVAudioSession" +# Needs CASpatialAudioExperience, which is not available on macOS (where header-translator runs). +class.CHHapticEngine.methods.intendedSpatialExperience.skipped = true +class.CHHapticEngine.methods."setIntendedSpatialExperience:".skipped = true + # Needs `ns_string!` that works reliably in statics. static.CoreHapticsErrorDomain.skipped = true diff --git a/framework-crates/objc2-core-image/Cargo.toml b/framework-crates/objc2-core-image/Cargo.toml index 4ff1b7041..dba40263d 100644 --- a/framework-crates/objc2-core-image/Cargo.toml +++ b/framework-crates/objc2-core-image/Cargo.toml @@ -218,6 +218,7 @@ CIRAWFilter_Deprecated = [ CIRenderDestination = [ "objc2-foundation/NSDate", "objc2-foundation/NSError", + "objc2-foundation/NSURL", ] CISampler = [ "objc2-foundation/NSDictionary", diff --git a/framework-crates/objc2-core-location/Cargo.toml b/framework-crates/objc2-core-location/Cargo.toml index 9f7048610..1330f9958 100644 --- a/framework-crates/objc2-core-location/Cargo.toml +++ b/framework-crates/objc2-core-location/Cargo.toml @@ -118,10 +118,7 @@ CLHeading = [ "objc2-foundation/NSDate", "objc2-foundation/NSObject", ] -CLLocation = [ - "objc2-foundation/NSDate", - "objc2-foundation/NSObject", -] +CLLocation = [] CLLocationManager = [ "objc2-foundation/NSArray", "objc2-foundation/NSData", diff --git a/framework-crates/objc2-core-location/src/lib.rs b/framework-crates/objc2-core-location/src/lib.rs index 2f15b2e88..115507139 100644 --- a/framework-crates/objc2-core-location/src/lib.rs +++ b/framework-crates/objc2-core-location/src/lib.rs @@ -16,5 +16,7 @@ extern crate alloc; extern crate std; mod generated; +mod location; #[allow(unused_imports, unreachable_pub)] pub use self::generated::*; +pub use self::location::*; diff --git a/framework-crates/objc2-core-location/src/location.rs b/framework-crates/objc2-core-location/src/location.rs new file mode 100644 index 000000000..6be326031 --- /dev/null +++ b/framework-crates/objc2-core-location/src/location.rs @@ -0,0 +1,416 @@ +//! This file has been automatically generated by `objc2`'s `header-translator`. +//! DO NOT EDIT +#![allow(non_snake_case, unused_imports)] +use core::ffi::*; +use core::ptr::NonNull; +use objc2::__framework_prelude::*; +use objc2_foundation::*; + +use crate::*; + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationdegrees?language=objc) +pub type CLLocationDegrees = c_double; + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationaccuracy?language=objc) +pub type CLLocationAccuracy = c_double; + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationspeed?language=objc) +pub type CLLocationSpeed = c_double; + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationspeedaccuracy?language=objc) +pub type CLLocationSpeedAccuracy = c_double; + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationdirection?language=objc) +pub type CLLocationDirection = c_double; + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationdirectionaccuracy?language=objc) +pub type CLLocationDirectionAccuracy = c_double; + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationcoordinate2d?language=objc) +#[repr(C)] +#[derive(Clone, Copy, Debug, PartialEq)] +pub struct CLLocationCoordinate2D { + pub latitude: CLLocationDegrees, + pub longitude: CLLocationDegrees, +} + +unsafe impl Encode for CLLocationCoordinate2D { + const ENCODING: Encoding = Encoding::Struct( + "CLLocationCoordinate2D", + &[::ENCODING, ::ENCODING], + ); +} + +unsafe impl RefEncode for CLLocationCoordinate2D { + const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING); +} + +/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationdistance?language=objc) +pub type CLLocationDistance = c_double; + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcldistancefilternone?language=objc) + pub static kCLDistanceFilterNone: CLLocationDistance; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationaccuracybestfornavigation?language=objc) + pub static kCLLocationAccuracyBestForNavigation: CLLocationAccuracy; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationaccuracybest?language=objc) + pub static kCLLocationAccuracyBest: CLLocationAccuracy; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationaccuracynearesttenmeters?language=objc) + pub static kCLLocationAccuracyNearestTenMeters: CLLocationAccuracy; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationaccuracyhundredmeters?language=objc) + pub static kCLLocationAccuracyHundredMeters: CLLocationAccuracy; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationaccuracykilometer?language=objc) + pub static kCLLocationAccuracyKilometer: CLLocationAccuracy; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationaccuracythreekilometers?language=objc) + pub static kCLLocationAccuracyThreeKilometers: CLLocationAccuracy; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationaccuracyreduced?language=objc) + pub static kCLLocationAccuracyReduced: CLLocationAccuracy; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationdistancemax?language=objc) + pub static CLLocationDistanceMax: CLLocationDistance; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cltimeintervalmax?language=objc) + pub static CLTimeIntervalMax: NSTimeInterval; +} + +extern "C" { + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/kcllocationcoordinate2dinvalid?language=objc) + pub static kCLLocationCoordinate2DInvalid: CLLocationCoordinate2D; +} + +impl CLLocationCoordinate2D { + #[doc(alias = "CLLocationCoordinate2DIsValid")] + #[inline] + pub unsafe fn is_valid(self: CLLocationCoordinate2D) -> bool { + extern "C-unwind" { + fn CLLocationCoordinate2DIsValid(coord: CLLocationCoordinate2D) -> Bool; + } + unsafe { CLLocationCoordinate2DIsValid(self) }.as_bool() + } + + #[doc(alias = "CLLocationCoordinate2DMake")] + #[inline] + pub unsafe fn new( + latitude: CLLocationDegrees, + longitude: CLLocationDegrees, + ) -> CLLocationCoordinate2D { + extern "C-unwind" { + fn CLLocationCoordinate2DMake( + latitude: CLLocationDegrees, + longitude: CLLocationDegrees, + ) -> CLLocationCoordinate2D; + } + unsafe { CLLocationCoordinate2DMake(latitude, longitude) } + } +} + +extern_class!( + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/clfloor?language=objc) + #[unsafe(super(NSObject))] + #[derive(Debug, PartialEq, Eq, Hash)] + pub struct CLFloor; +); + +extern_conformance!( + unsafe impl NSCoding for CLFloor {} +); + +extern_conformance!( + unsafe impl NSCopying for CLFloor {} +); + +unsafe impl CopyingHelper for CLFloor { + type Result = Self; +} + +extern_conformance!( + unsafe impl NSObjectProtocol for CLFloor {} +); + +extern_conformance!( + unsafe impl NSSecureCoding for CLFloor {} +); + +impl CLFloor { + extern_methods!( + #[unsafe(method(level))] + #[unsafe(method_family = none)] + pub unsafe fn level(&self) -> NSInteger; + ); +} + +/// Methods declared on superclass `NSObject`. +impl CLFloor { + extern_methods!( + #[unsafe(method(init))] + #[unsafe(method_family = init)] + pub unsafe fn init(this: Allocated) -> Retained; + + #[unsafe(method(new))] + #[unsafe(method_family = new)] + pub unsafe fn new() -> Retained; + ); +} + +extern_class!( + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationsourceinformation?language=objc) + #[unsafe(super(NSObject))] + #[derive(Debug, PartialEq, Eq, Hash)] + pub struct CLLocationSourceInformation; +); + +extern_conformance!( + unsafe impl NSCoding for CLLocationSourceInformation {} +); + +extern_conformance!( + unsafe impl NSCopying for CLLocationSourceInformation {} +); + +unsafe impl CopyingHelper for CLLocationSourceInformation { + type Result = Self; +} + +extern_conformance!( + unsafe impl NSObjectProtocol for CLLocationSourceInformation {} +); + +extern_conformance!( + unsafe impl NSSecureCoding for CLLocationSourceInformation {} +); + +impl CLLocationSourceInformation { + extern_methods!( + #[unsafe(method(initWithSoftwareSimulationState:andExternalAccessoryState:))] + #[unsafe(method_family = init)] + pub unsafe fn initWithSoftwareSimulationState_andExternalAccessoryState( + this: Allocated, + is_software: bool, + is_accessory: bool, + ) -> Retained; + + #[unsafe(method(isSimulatedBySoftware))] + #[unsafe(method_family = none)] + pub unsafe fn isSimulatedBySoftware(&self) -> bool; + + #[unsafe(method(isProducedByAccessory))] + #[unsafe(method_family = none)] + pub unsafe fn isProducedByAccessory(&self) -> bool; + ); +} + +/// Methods declared on superclass `NSObject`. +impl CLLocationSourceInformation { + extern_methods!( + #[unsafe(method(init))] + #[unsafe(method_family = init)] + pub unsafe fn init(this: Allocated) -> Retained; + + #[unsafe(method(new))] + #[unsafe(method_family = new)] + pub unsafe fn new() -> Retained; + ); +} + +extern_class!( + /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocation?language=objc) + #[unsafe(super(NSObject))] + #[derive(Debug, PartialEq, Eq, Hash)] + pub struct CLLocation; +); + +unsafe impl Send for CLLocation {} + +unsafe impl Sync for CLLocation {} + +extern_conformance!( + unsafe impl NSCoding for CLLocation {} +); + +extern_conformance!( + unsafe impl NSCopying for CLLocation {} +); + +unsafe impl CopyingHelper for CLLocation { + type Result = Self; +} + +extern_conformance!( + unsafe impl NSObjectProtocol for CLLocation {} +); + +extern_conformance!( + unsafe impl NSSecureCoding for CLLocation {} +); + +impl CLLocation { + extern_methods!( + #[unsafe(method(initWithLatitude:longitude:))] + #[unsafe(method_family = init)] + pub unsafe fn initWithLatitude_longitude( + this: Allocated, + latitude: CLLocationDegrees, + longitude: CLLocationDegrees, + ) -> Retained; + + #[unsafe(method(initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:timestamp:))] + #[unsafe(method_family = init)] + pub unsafe fn initWithCoordinate_altitude_horizontalAccuracy_verticalAccuracy_timestamp( + this: Allocated, + coordinate: CLLocationCoordinate2D, + altitude: CLLocationDistance, + h_accuracy: CLLocationAccuracy, + v_accuracy: CLLocationAccuracy, + timestamp: &NSDate, + ) -> Retained; + + #[unsafe(method(initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:course:speed:timestamp:))] + #[unsafe(method_family = init)] + pub unsafe fn initWithCoordinate_altitude_horizontalAccuracy_verticalAccuracy_course_speed_timestamp( + this: Allocated, + coordinate: CLLocationCoordinate2D, + altitude: CLLocationDistance, + h_accuracy: CLLocationAccuracy, + v_accuracy: CLLocationAccuracy, + course: CLLocationDirection, + speed: CLLocationSpeed, + timestamp: &NSDate, + ) -> Retained; + + #[unsafe(method(initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:course:courseAccuracy:speed:speedAccuracy:timestamp:))] + #[unsafe(method_family = init)] + pub unsafe fn initWithCoordinate_altitude_horizontalAccuracy_verticalAccuracy_course_courseAccuracy_speed_speedAccuracy_timestamp( + this: Allocated, + coordinate: CLLocationCoordinate2D, + altitude: CLLocationDistance, + h_accuracy: CLLocationAccuracy, + v_accuracy: CLLocationAccuracy, + course: CLLocationDirection, + course_accuracy: CLLocationDirectionAccuracy, + speed: CLLocationSpeed, + speed_accuracy: CLLocationSpeedAccuracy, + timestamp: &NSDate, + ) -> Retained; + + #[unsafe(method(initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:course:courseAccuracy:speed:speedAccuracy:timestamp:sourceInfo:))] + #[unsafe(method_family = init)] + pub unsafe fn initWithCoordinate_altitude_horizontalAccuracy_verticalAccuracy_course_courseAccuracy_speed_speedAccuracy_timestamp_sourceInfo( + this: Allocated, + coordinate: CLLocationCoordinate2D, + altitude: CLLocationDistance, + h_accuracy: CLLocationAccuracy, + v_accuracy: CLLocationAccuracy, + course: CLLocationDirection, + course_accuracy: CLLocationDirectionAccuracy, + speed: CLLocationSpeed, + speed_accuracy: CLLocationSpeedAccuracy, + timestamp: &NSDate, + source_info: &CLLocationSourceInformation, + ) -> Retained; + + #[unsafe(method(coordinate))] + #[unsafe(method_family = none)] + pub unsafe fn coordinate(&self) -> CLLocationCoordinate2D; + + #[unsafe(method(altitude))] + #[unsafe(method_family = none)] + pub unsafe fn altitude(&self) -> CLLocationDistance; + + #[unsafe(method(ellipsoidalAltitude))] + #[unsafe(method_family = none)] + pub unsafe fn ellipsoidalAltitude(&self) -> CLLocationDistance; + + #[unsafe(method(horizontalAccuracy))] + #[unsafe(method_family = none)] + pub unsafe fn horizontalAccuracy(&self) -> CLLocationAccuracy; + + #[unsafe(method(verticalAccuracy))] + #[unsafe(method_family = none)] + pub unsafe fn verticalAccuracy(&self) -> CLLocationAccuracy; + + #[unsafe(method(course))] + #[unsafe(method_family = none)] + pub unsafe fn course(&self) -> CLLocationDirection; + + #[unsafe(method(courseAccuracy))] + #[unsafe(method_family = none)] + pub unsafe fn courseAccuracy(&self) -> CLLocationDirectionAccuracy; + + #[unsafe(method(speed))] + #[unsafe(method_family = none)] + pub unsafe fn speed(&self) -> CLLocationSpeed; + + #[unsafe(method(speedAccuracy))] + #[unsafe(method_family = none)] + pub unsafe fn speedAccuracy(&self) -> CLLocationSpeedAccuracy; + + #[unsafe(method(timestamp))] + #[unsafe(method_family = none)] + pub unsafe fn timestamp(&self) -> Retained; + + #[unsafe(method(floor))] + #[unsafe(method_family = none)] + pub unsafe fn floor(&self) -> Option>; + + #[unsafe(method(sourceInformation))] + #[unsafe(method_family = none)] + pub unsafe fn sourceInformation(&self) -> Option>; + ); +} + +/// Methods declared on superclass `NSObject`. +impl CLLocation { + extern_methods!( + #[unsafe(method(init))] + #[unsafe(method_family = init)] + pub unsafe fn init(this: Allocated) -> Retained; + + #[unsafe(method(new))] + #[unsafe(method_family = new)] + pub unsafe fn new() -> Retained; + ); +} + +#[deprecated = "renamed to `CLLocationCoordinate2D::is_valid`"] +#[inline] +pub unsafe extern "C-unwind" fn CLLocationCoordinate2DIsValid( + coord: CLLocationCoordinate2D, +) -> bool { + extern "C-unwind" { + fn CLLocationCoordinate2DIsValid(coord: CLLocationCoordinate2D) -> Bool; + } + unsafe { CLLocationCoordinate2DIsValid(coord) }.as_bool() +} + +extern "C-unwind" { + #[deprecated = "renamed to `CLLocationCoordinate2D::new`"] + pub fn CLLocationCoordinate2DMake( + latitude: CLLocationDegrees, + longitude: CLLocationDegrees, + ) -> CLLocationCoordinate2D; +} diff --git a/framework-crates/objc2-core-location/translation-config.toml b/framework-crates/objc2-core-location/translation-config.toml index 0be432d0e..c468d5cf6 100644 --- a/framework-crates/objc2-core-location/translation-config.toml +++ b/framework-crates/objc2-core-location/translation-config.toml @@ -1,6 +1,7 @@ framework = "CoreLocation" crate = "objc2-core-location" required-crates = ["objc2", "objc2-foundation"] +custom-lib-rs = true # macos = "10.6" macos = "10.11" # Temporarily raised since `CoreLocation` imports `Contacts` maccatalyst = "13.0" diff --git a/framework-crates/objc2-core-media/Cargo.toml b/framework-crates/objc2-core-media/Cargo.toml index 5c9c02826..c3631c2ea 100644 --- a/framework-crates/objc2-core-media/Cargo.toml +++ b/framework-crates/objc2-core-media/Cargo.toml @@ -120,7 +120,10 @@ CMTagCollection = [ "objc2-core-foundation/CFData", "objc2-core-foundation/CFDictionary", ] -CMTaggedBufferGroup = ["objc2-core-foundation/CFArray"] +CMTaggedBufferGroup = [ + "objc2-core-foundation/CFArray", + "objc2-core-foundation/CFDictionary", +] CMTextMarkup = [] CMTime = [ "bitflags", diff --git a/framework-crates/objc2-core-telephony/Cargo.toml b/framework-crates/objc2-core-telephony/Cargo.toml index 927aeb855..0fd96a5c0 100644 --- a/framework-crates/objc2-core-telephony/Cargo.toml +++ b/framework-crates/objc2-core-telephony/Cargo.toml @@ -37,8 +37,10 @@ default = [ "CTCallCenter", "CTCarrier", "CTCellularData", + "CTCellularPlanProperties", "CTCellularPlanProvisioning", "CTCellularPlanProvisioningRequest", + "CTCellularPlanStatus", "CTSubscriber", "CTSubscriberInfo", "CTTelephonyNetworkInfo", @@ -53,11 +55,20 @@ CTCall = ["objc2-foundation/NSString"] CTCallCenter = ["objc2-foundation/NSSet"] CTCarrier = ["objc2-foundation/NSString"] CTCellularData = [] -CTCellularPlanProvisioning = [] +CTCellularPlanProperties = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +CTCellularPlanProvisioning = ["objc2-foundation/NSError"] CTCellularPlanProvisioningRequest = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +CTCellularPlanStatus = [ + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] CTSubscriber = [ "objc2-foundation/NSData", "objc2-foundation/NSString", diff --git a/framework-crates/objc2-crypto-token-kit/Cargo.toml b/framework-crates/objc2-crypto-token-kit/Cargo.toml index 65d747cad..5b499f410 100644 --- a/framework-crates/objc2-crypto-token-kit/Cargo.toml +++ b/framework-crates/objc2-crypto-token-kit/Cargo.toml @@ -46,7 +46,9 @@ default = [ "TKError", "TKSmartCard", "TKSmartCardATR", + "TKSmartCardSlotNFCSession", "TKSmartCardToken", + "TKSmartCardTokenRegistrationManager", "TKTLVRecord", "TKToken", "TKTokenConfiguration", @@ -80,12 +82,21 @@ TKSmartCardATR = [ "objc2-foundation/NSData", "objc2-foundation/NSValue", ] +TKSmartCardSlotNFCSession = [ + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] TKSmartCardToken = [ "objc2-foundation/NSData", "objc2-foundation/NSError", "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +TKSmartCardTokenRegistrationManager = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] TKTLVRecord = [ "objc2-foundation/NSArray", "objc2-foundation/NSData", diff --git a/framework-crates/objc2-file-provider/Cargo.toml b/framework-crates/objc2-file-provider/Cargo.toml index 3f1fc58d7..f07ea4d77 100644 --- a/framework-crates/objc2-file-provider/Cargo.toml +++ b/framework-crates/objc2-file-provider/Cargo.toml @@ -52,6 +52,7 @@ default = [ "NSFileProviderModifyItemOptions", "NSFileProviderReplicatedExtension", "NSFileProviderRequest", + "NSFileProviderSearch", "NSFileProviderService", "NSFileProviderTesting", "NSFileProviderThumbnailing", @@ -140,6 +141,14 @@ NSFileProviderReplicatedExtension = [ "objc2-foundation/NSURL", ] NSFileProviderRequest = ["objc2-foundation/NSURL"] +NSFileProviderSearch = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSData", + "objc2-foundation/NSDate", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSValue", +] NSFileProviderService = [ "objc2-foundation/NSArray", "objc2-foundation/NSError", diff --git a/framework-crates/objc2-fs-kit/Cargo.toml b/framework-crates/objc2-fs-kit/Cargo.toml index 9745a19dc..837c8b67a 100644 --- a/framework-crates/objc2-fs-kit/Cargo.toml +++ b/framework-crates/objc2-fs-kit/Cargo.toml @@ -106,6 +106,7 @@ FSResource = [ "objc2-foundation/NSObject", "objc2-foundation/NSProgress", "objc2-foundation/NSString", + "objc2-foundation/NSURL", ] FSTask = [ "objc2-foundation/NSError", diff --git a/framework-crates/objc2-game-controller/Cargo.toml b/framework-crates/objc2-game-controller/Cargo.toml index 5a094ab97..a9c13bc43 100644 --- a/framework-crates/objc2-game-controller/Cargo.toml +++ b/framework-crates/objc2-game-controller/Cargo.toml @@ -99,6 +99,7 @@ default = [ "GCMouse", "GCMouseInput", "GCPhysicalInputElement", + "GCPhysicalInputExtents", "GCPhysicalInputProfile", "GCPhysicalInputSource", "GCPressedStateInput", @@ -107,6 +108,7 @@ default = [ "GCRacingWheelInput", "GCRelativeInput", "GCSteeringWheelElement", + "GCStylus", "GCSwitchElement", "GCSwitchPositionInput", "GCSyntheticDeviceKeys", @@ -204,6 +206,7 @@ GCPhysicalInputElement = [ "objc2-foundation/NSSet", "objc2-foundation/NSString", ] +GCPhysicalInputExtents = [] GCPhysicalInputProfile = [ "objc2-foundation/NSDate", "objc2-foundation/NSDictionary", @@ -231,6 +234,10 @@ GCRelativeInput = [ "objc2-foundation/NSSet", ] GCSteeringWheelElement = [] +GCStylus = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSString", +] GCSwitchElement = [] GCSwitchPositionInput = [ "objc2-foundation/NSDate", diff --git a/framework-crates/objc2-game-kit/Cargo.toml b/framework-crates/objc2-game-kit/Cargo.toml index 85862abc9..71998cfb8 100644 --- a/framework-crates/objc2-game-kit/Cargo.toml +++ b/framework-crates/objc2-game-kit/Cargo.toml @@ -55,6 +55,7 @@ default = [ "GKAchievementViewController", "GKBasePlayer", "GKChallenge", + "GKChallengeDefinition", "GKChallengeEventHandler", "GKChallengesViewController", "GKCloudPlayer", @@ -63,6 +64,11 @@ default = [ "GKError", "GKEventListener", "GKFriendRequestComposeViewController", + "GKGameActivity", + "GKGameActivityDefinition", + "GKGameActivityListener", + "GKGameActivityPlayStyle", + "GKGameActivityState", "GKGameCenterViewController", "GKGameSession", "GKGameSessionError", @@ -116,6 +122,7 @@ GKAchievement = [ ] GKAchievementDescription = [ "objc2-foundation/NSArray", + "objc2-foundation/NSDictionary", "objc2-foundation/NSError", "objc2-foundation/NSObject", "objc2-foundation/NSString", @@ -126,7 +133,10 @@ GKAchievementViewController = [ "objc2-foundation/NSCoder", "objc2-foundation/NSObject", ] -GKBasePlayer = ["objc2-foundation/NSString"] +GKBasePlayer = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] GKChallenge = [ "objc2-foundation/NSArray", "objc2-foundation/NSDate", @@ -134,6 +144,12 @@ GKChallenge = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +GKChallengeDefinition = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSCalendar", + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] GKChallengeEventHandler = [] GKChallengesViewController = [ "objc2-foundation/NSBundle", @@ -142,6 +158,7 @@ GKChallengesViewController = [ ] GKCloudPlayer = [ "objc2-foundation/NSError", + "objc2-foundation/NSObject", "objc2-foundation/NSString", ] GKDefines = [ @@ -161,6 +178,26 @@ GKFriendRequestComposeViewController = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +GKGameActivity = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSDate", + "objc2-foundation/NSDictionary", + "objc2-foundation/NSError", + "objc2-foundation/NSSet", + "objc2-foundation/NSString", + "objc2-foundation/NSURL", +] +GKGameActivityDefinition = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSDictionary", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSURL", + "objc2-foundation/NSValue", +] +GKGameActivityListener = [] +GKGameActivityPlayStyle = [] +GKGameActivityState = [] GKGameCenterViewController = [ "objc2-foundation/NSBundle", "objc2-foundation/NSCoder", @@ -184,6 +221,7 @@ GKGameSessionSharingViewController = [] GKLeaderboard = [ "objc2-foundation/NSArray", "objc2-foundation/NSDate", + "objc2-foundation/NSDictionary", "objc2-foundation/NSError", "objc2-foundation/NSRange", "objc2-foundation/NSString", @@ -210,6 +248,7 @@ GKLocalPlayer = [ "objc2-foundation/NSData", "objc2-foundation/NSError", "objc2-foundation/NSNotification", + "objc2-foundation/NSObject", "objc2-foundation/NSString", "objc2-foundation/NSURL", ] @@ -244,6 +283,7 @@ GKPlayer = [ "objc2-foundation/NSArray", "objc2-foundation/NSError", "objc2-foundation/NSNotification", + "objc2-foundation/NSObject", "objc2-foundation/NSString", ] GKPublicConstants = ["objc2-foundation/NSString"] diff --git a/framework-crates/objc2-health-kit/Cargo.toml b/framework-crates/objc2-health-kit/Cargo.toml index f18c83357..99e2b7cf4 100644 --- a/framework-crates/objc2-health-kit/Cargo.toml +++ b/framework-crates/objc2-health-kit/Cargo.toml @@ -55,6 +55,7 @@ default = [ "HKCategoryValues", "HKCharacteristicObjects", "HKCharacteristicValues", + "HKClinicalCoding", "HKClinicalRecord", "HKClinicalType", "HKContactsLensSpecification", @@ -77,6 +78,7 @@ default = [ "HKGAD7Assessment", "HKGlassesLensSpecification", "HKGlassesPrescription", + "HKHealthConceptIdentifier", "HKHealthStore", "HKHeartbeatSeriesBuilder", "HKHeartbeatSeriesQuery", @@ -84,7 +86,10 @@ default = [ "HKLensSpecification", "HKLiveWorkoutBuilder", "HKLiveWorkoutDataSource", + "HKMedicationConcept", + "HKMedicationDoseEvent", "HKMetadata", + "HKMetadataEnums", "HKObject", "HKObjectType", "HKObserverQuery", @@ -111,6 +116,8 @@ default = [ "HKStatisticsQuery", "HKTypeIdentifiers", "HKUnit", + "HKUserAnnotatedMedication", + "HKUserAnnotatedMedicationQuery", "HKVerifiableClinicalRecord", "HKVerifiableClinicalRecordQuery", "HKVerifiableClinicalRecordSubject", @@ -207,6 +214,10 @@ HKCategorySample = [ HKCategoryValues = [] HKCharacteristicObjects = ["objc2-foundation/NSObject"] HKCharacteristicValues = [] +HKClinicalCoding = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] HKClinicalRecord = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", @@ -312,6 +323,10 @@ HKGlassesPrescription = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +HKHealthConceptIdentifier = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] HKHealthStore = [ "objc2-foundation/NSArray", "objc2-foundation/NSCalendar", @@ -342,7 +357,19 @@ HKLiveWorkoutDataSource = [ "objc2-foundation/NSPredicate", "objc2-foundation/NSSet", ] +HKMedicationConcept = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSSet", + "objc2-foundation/NSString", +] +HKMedicationDoseEvent = [ + "objc2-foundation/NSDate", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", + "objc2-foundation/NSValue", +] HKMetadata = ["objc2-foundation/NSString"] +HKMetadataEnums = [] HKObject = [ "objc2-foundation/NSDictionary", "objc2-foundation/NSObject", @@ -474,6 +501,14 @@ HKUnit = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +HKUserAnnotatedMedication = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +HKUserAnnotatedMedicationQuery = [ + "objc2-foundation/NSError", + "objc2-foundation/NSPredicate", +] HKVerifiableClinicalRecord = [ "objc2-foundation/NSArray", "objc2-foundation/NSData", diff --git a/framework-crates/objc2-io-usb-host/translation-config.toml b/framework-crates/objc2-io-usb-host/translation-config.toml index 80b010c01..0729a6f2f 100644 --- a/framework-crates/objc2-io-usb-host/translation-config.toml +++ b/framework-crates/objc2-io-usb-host/translation-config.toml @@ -15,6 +15,8 @@ class.IOUSBHostObject.methods."descriptorWithType:length:index:languageID:error: class.IOUSBHostObject.methods."descriptorWithType:length:error:".skipped = true class.IOUSBHostObject.methods."configurationDescriptorWithIndex:error:".skipped = true class.IOUSBHostObject.methods."configurationDescriptorWithConfigurationValue:error:".skipped = true +class.IOUSBHostObject.methods."currentMicroframeWithTime:error:".skipped = true +class.IOUSBHostObject.methods."referenceMicroframeWithTime:error:".skipped = true # Needs uuid_t, unsure about the ABI. fn.IOUSBGetPlatformCapabilityDescriptorWithUUID.skipped = true diff --git a/framework-crates/objc2-map-kit/Cargo.toml b/framework-crates/objc2-map-kit/Cargo.toml index c32b00f93..fb4bb2155 100644 --- a/framework-crates/objc2-map-kit/Cargo.toml +++ b/framework-crates/objc2-map-kit/Cargo.toml @@ -75,7 +75,9 @@ targets = [ [features] default = [ "std", + "MKAddress", "MKAddressFilter", + "MKAddressRepresentations", "MKAnnotation", "MKAnnotationView", "MKCircle", @@ -89,6 +91,7 @@ default = [ "MKDistanceFormatter", "MKFoundation", "MKGeoJSONSerialization", + "MKGeocodingRequest", "MKGeodesicPolyline", "MKGeometry", "MKGradientPolylineRenderer", @@ -137,6 +140,7 @@ default = [ "MKPolygonRenderer", "MKPolyline", "MKPolylineRenderer", + "MKReverseGeocodingRequest", "MKSelectionAccessory", "MKShape", "MKStandardMapConfiguration", @@ -167,10 +171,12 @@ objc2-core-foundation = ["dep:objc2-core-foundation"] objc2-core-graphics = ["dep:objc2-core-graphics"] objc2-core-location = ["dep:objc2-core-location"] +MKAddress = ["objc2-foundation/NSString"] MKAddressFilter = [ "bitflags", "objc2-foundation/NSObject", ] +MKAddressRepresentations = ["objc2-foundation/NSString"] MKAnnotation = ["objc2-foundation/NSString"] MKAnnotationView = [ "objc2-foundation/NSCoder", @@ -215,6 +221,12 @@ MKGeoJSONSerialization = [ "objc2-foundation/NSError", "objc2-foundation/NSString", ] +MKGeocodingRequest = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSLocale", + "objc2-foundation/NSString", +] MKGeodesicPolyline = [] MKGeometry = ["objc2-foundation/NSValue"] MKGradientPolylineRenderer = [ @@ -348,6 +360,11 @@ MKPolygon = ["objc2-foundation/NSArray"] MKPolygonRenderer = [] MKPolyline = [] MKPolylineRenderer = [] +MKReverseGeocodingRequest = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSLocale", +] MKSelectionAccessory = [] MKShape = ["objc2-foundation/NSString"] MKStandardMapConfiguration = ["objc2-foundation/NSObject"] diff --git a/framework-crates/objc2-media-extension/Cargo.toml b/framework-crates/objc2-media-extension/Cargo.toml index 83d7ef2ca..fa3af2322 100644 --- a/framework-crates/objc2-media-extension/Cargo.toml +++ b/framework-crates/objc2-media-extension/Cargo.toml @@ -95,6 +95,7 @@ MEFormatReader = [ ] MERAWProcessor = [ "objc2-foundation/NSArray", + "objc2-foundation/NSData", "objc2-foundation/NSDictionary", "objc2-foundation/NSError", "objc2-foundation/NSNotification", diff --git a/framework-crates/objc2-media-player/Cargo.toml b/framework-crates/objc2-media-player/Cargo.toml index 41d903370..9c7e70bf5 100644 --- a/framework-crates/objc2-media-player/Cargo.toml +++ b/framework-crates/objc2-media-player/Cargo.toml @@ -177,6 +177,7 @@ MPMusicPlayerQueueDescriptor = [ "objc2-foundation/NSString", ] MPNowPlayingInfoCenter = [ + "objc2-foundation/NSArray", "objc2-foundation/NSDictionary", "objc2-foundation/NSString", ] diff --git a/framework-crates/objc2-messages/Cargo.toml b/framework-crates/objc2-messages/Cargo.toml index c34f9bfb6..5d2aa06b4 100644 --- a/framework-crates/objc2-messages/Cargo.toml +++ b/framework-crates/objc2-messages/Cargo.toml @@ -26,6 +26,7 @@ objc2-foundation = { workspace = true, features = ["alloc"] } objc2-quartz-core = { workspace = true, optional = true, features = ["CALayer"] } objc2-ui-kit = { workspace = true, optional = true, features = [ "UIAppearance", + "UIColor", "UIDynamicBehavior", "UIFocus", "UIGeometry", diff --git a/framework-crates/objc2-metal-fx/Cargo.toml b/framework-crates/objc2-metal-fx/Cargo.toml index cf7e609df..f3154af30 100644 --- a/framework-crates/objc2-metal-fx/Cargo.toml +++ b/framework-crates/objc2-metal-fx/Cargo.toml @@ -34,16 +34,49 @@ targets = [ [features] default = [ "std", + "MTL4FXFrameInterpolator", + "MTL4FXSpatialScaler", + "MTL4FXTemporalDenoisedScaler", + "MTL4FXTemporalScaler", "MTLFXDefines", + "MTLFXFrameInterpolator", "MTLFXSpatialScaler", + "MTLFXTemporalDenoisedScaler", "MTLFXTemporalScaler", ] std = ["alloc"] alloc = [] +MTL4FXFrameInterpolator = ["objc2-metal/MTL4CommandBuffer"] +MTL4FXSpatialScaler = ["objc2-metal/MTL4CommandBuffer"] +MTL4FXTemporalDenoisedScaler = ["objc2-metal/MTL4CommandBuffer"] +MTL4FXTemporalScaler = ["objc2-metal/MTL4CommandBuffer"] MTLFXDefines = [] +MTLFXFrameInterpolator = [ + "objc2-foundation/NSObject", + "objc2-metal/MTL4Compiler", + "objc2-metal/MTLAllocation", + "objc2-metal/MTLCommandBuffer", + "objc2-metal/MTLDevice", + "objc2-metal/MTLFence", + "objc2-metal/MTLPixelFormat", + "objc2-metal/MTLResource", + "objc2-metal/MTLTexture", +] MTLFXSpatialScaler = [ "objc2-foundation/NSObject", + "objc2-metal/MTL4Compiler", + "objc2-metal/MTLAllocation", + "objc2-metal/MTLCommandBuffer", + "objc2-metal/MTLDevice", + "objc2-metal/MTLFence", + "objc2-metal/MTLPixelFormat", + "objc2-metal/MTLResource", + "objc2-metal/MTLTexture", +] +MTLFXTemporalDenoisedScaler = [ + "objc2-foundation/NSObject", + "objc2-metal/MTL4Compiler", "objc2-metal/MTLAllocation", "objc2-metal/MTLCommandBuffer", "objc2-metal/MTLDevice", @@ -54,6 +87,7 @@ MTLFXSpatialScaler = [ ] MTLFXTemporalScaler = [ "objc2-foundation/NSObject", + "objc2-metal/MTL4Compiler", "objc2-metal/MTLAllocation", "objc2-metal/MTLCommandBuffer", "objc2-metal/MTLDevice", diff --git a/framework-crates/objc2-metal-kit/Cargo.toml b/framework-crates/objc2-metal-kit/Cargo.toml index 49b42876d..1ff819395 100644 --- a/framework-crates/objc2-metal-kit/Cargo.toml +++ b/framework-crates/objc2-metal-kit/Cargo.toml @@ -97,11 +97,11 @@ MTKModel = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", "objc2-metal/MTLAllocation", + "objc2-metal/MTLArgument", "objc2-metal/MTLBuffer", "objc2-metal/MTLDevice", "objc2-metal/MTLRenderCommandEncoder", "objc2-metal/MTLResource", - "objc2-metal/MTLStageInputOutputDescriptor", "objc2-metal/MTLVertexDescriptor", ] MTKTextureLoader = [ @@ -122,6 +122,7 @@ MTKView = [ "objc2-foundation/NSGeometry", "objc2-foundation/NSObject", "objc2-foundation/objc2-core-foundation", + "objc2-metal/MTL4RenderPass", "objc2-metal/MTLAllocation", "objc2-metal/MTLDevice", "objc2-metal/MTLPixelFormat", diff --git a/framework-crates/objc2-metal-performance-shaders-graph/Cargo.toml b/framework-crates/objc2-metal-performance-shaders-graph/Cargo.toml index 2850b1044..8bfb57768 100644 --- a/framework-crates/objc2-metal-performance-shaders-graph/Cargo.toml +++ b/framework-crates/objc2-metal-performance-shaders-graph/Cargo.toml @@ -16,6 +16,7 @@ license.workspace = true workspace = true [dependencies] +bitflags = { workspace = true, optional = true, features = ["std"] } block2 = { workspace = true, optional = true, features = ["alloc"] } dispatch2 = { workspace = true, optional = true, features = [ "alloc", @@ -90,17 +91,20 @@ default = [ "MPSGraphTensorData", "MPSGraphTensorShapeOps", "MPSGraphTopKOps", + "bitflags", "block2", "dispatch2", "objc2-metal-performance-shaders", ] std = ["alloc"] alloc = [] +bitflags = ["dep:bitflags"] block2 = ["dep:block2"] dispatch2 = ["dep:dispatch2"] objc2-metal-performance-shaders = ["dep:objc2-metal-performance-shaders"] MPSGraph = [ + "bitflags", "objc2-foundation/NSArray", "objc2-foundation/NSDictionary", "objc2-foundation/NSError", @@ -225,6 +229,7 @@ MPSGraphTensorData = [ "objc2-metal/MTLAllocation", "objc2-metal/MTLBuffer", "objc2-metal/MTLResource", + "objc2-metal/MTLTensor", ] MPSGraphTensorShapeOps = [ "objc2-foundation/NSArray", diff --git a/framework-crates/objc2-metal/Cargo.toml b/framework-crates/objc2-metal/Cargo.toml index e3cffaf98..b3be384b8 100644 --- a/framework-crates/objc2-metal/Cargo.toml +++ b/framework-crates/objc2-metal/Cargo.toml @@ -49,6 +49,37 @@ features = ["objc2-io-surface"] [features] default = [ "std", + "MTL4AccelerationStructure", + "MTL4Archive", + "MTL4ArgumentTable", + "MTL4BinaryFunction", + "MTL4BinaryFunctionDescriptor", + "MTL4BufferRange", + "MTL4CommandAllocator", + "MTL4CommandBuffer", + "MTL4CommandEncoder", + "MTL4CommandQueue", + "MTL4CommitFeedback", + "MTL4Compiler", + "MTL4CompilerTask", + "MTL4ComputeCommandEncoder", + "MTL4ComputePipeline", + "MTL4Counters", + "MTL4FunctionDescriptor", + "MTL4LibraryDescriptor", + "MTL4LibraryFunctionDescriptor", + "MTL4LinkingDescriptor", + "MTL4MachineLearningCommandEncoder", + "MTL4MachineLearningPipeline", + "MTL4MeshRenderPipeline", + "MTL4PipelineDataSetSerializer", + "MTL4PipelineState", + "MTL4RenderCommandEncoder", + "MTL4RenderPass", + "MTL4RenderPipeline", + "MTL4SpecializedFunctionDescriptor", + "MTL4StitchedFunctionDescriptor", + "MTL4TileRenderPipeline", "MTLAccelerationStructure", "MTLAccelerationStructureCommandEncoder", "MTLAccelerationStructureTypes", @@ -68,6 +99,7 @@ default = [ "MTLComputePass", "MTLComputePipeline", "MTLCounters", + "MTLDataType", "MTLDefines", "MTLDepthStencil", "MTLDevice", @@ -81,6 +113,7 @@ default = [ "MTLFunctionHandle", "MTLFunctionLog", "MTLFunctionStitching", + "MTLGPUAddress", "MTLHeap", "MTLIOCommandBuffer", "MTLIOCommandQueue", @@ -102,9 +135,12 @@ default = [ "MTLResource", "MTLResourceStateCommandEncoder", "MTLResourceStatePass", + "MTLResourceViewPool", "MTLSampler", "MTLStageInputOutputDescriptor", + "MTLTensor", "MTLTexture", + "MTLTextureViewPool", "MTLTypes", "MTLVertexDescriptor", "MTLVisibleFunctionTable", @@ -125,16 +161,122 @@ dispatch2 = ["dep:dispatch2"] objc2-core-foundation = ["dep:objc2-core-foundation"] objc2-io-surface = ["dep:objc2-io-surface"] -MTLAccelerationStructure = [ +MTL4AccelerationStructure = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTL4Archive = [ + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] +MTL4ArgumentTable = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTL4BinaryFunction = ["objc2-foundation/NSString"] +MTL4BinaryFunctionDescriptor = [ + "bitflags", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTL4BufferRange = [] +MTL4CommandAllocator = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTL4CommandBuffer = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSRange", + "objc2-foundation/NSString", +] +MTL4CommandEncoder = [ "bitflags", + "objc2-foundation/NSString", +] +MTL4CommandQueue = [ + "objc2-foundation/NSError", + "objc2-foundation/NSObject", + "objc2-foundation/NSRange", + "objc2-foundation/NSString", +] +MTL4CommitFeedback = ["objc2-foundation/NSError"] +MTL4Compiler = [ "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", + "objc2-foundation/NSURL", +] +MTL4CompilerTask = [] +MTL4ComputeCommandEncoder = ["objc2-foundation/NSRange"] +MTL4ComputePipeline = ["objc2-foundation/NSObject"] +MTL4Counters = [ + "objc2-foundation/NSData", + "objc2-foundation/NSObject", + "objc2-foundation/NSRange", + "objc2-foundation/NSString", +] +MTL4FunctionDescriptor = ["objc2-foundation/NSObject"] +MTL4LibraryDescriptor = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] -MTLAccelerationStructureCommandEncoder = [ +MTL4LibraryFunctionDescriptor = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTL4LinkingDescriptor = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSDictionary", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTL4MachineLearningCommandEncoder = [] +MTL4MachineLearningPipeline = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", + "objc2-foundation/NSRange", + "objc2-foundation/NSString", +] +MTL4MeshRenderPipeline = ["objc2-foundation/NSObject"] +MTL4PipelineDataSetSerializer = [ + "bitflags", + "objc2-foundation/NSData", + "objc2-foundation/NSError", + "objc2-foundation/NSObject", + "objc2-foundation/NSURL", +] +MTL4PipelineState = [ "bitflags", "objc2-foundation/NSObject", + "objc2-foundation/NSString", ] +MTL4RenderCommandEncoder = [ + "bitflags", + "objc2-foundation/NSRange", +] +MTL4RenderPass = ["objc2-foundation/NSObject"] +MTL4RenderPipeline = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", +] +MTL4SpecializedFunctionDescriptor = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTL4StitchedFunctionDescriptor = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", +] +MTL4TileRenderPipeline = ["objc2-foundation/NSObject"] +MTLAccelerationStructure = [ + "bitflags", + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +MTLAccelerationStructureCommandEncoder = ["objc2-foundation/NSObject"] MTLAccelerationStructureTypes = [] MTLAllocation = [] MTLArgument = [ @@ -157,6 +299,7 @@ MTLBlitCommandEncoder = [ ] MTLBlitPass = ["objc2-foundation/NSObject"] MTLBuffer = [ + "objc2-foundation/NSError", "objc2-foundation/NSRange", "objc2-foundation/NSString", ] @@ -199,6 +342,7 @@ MTLCounters = [ "objc2-foundation/NSRange", "objc2-foundation/NSString", ] +MTLDataType = [] MTLDefines = [] MTLDepthStencil = [ "objc2-foundation/NSObject", @@ -252,6 +396,7 @@ MTLFunctionStitching = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +MTLGPUAddress = [] MTLHeap = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", @@ -329,17 +474,29 @@ MTLResource = [ ] MTLResourceStateCommandEncoder = [] MTLResourceStatePass = ["objc2-foundation/NSObject"] +MTLResourceViewPool = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSRange", + "objc2-foundation/NSString", +] MTLSampler = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] MTLStageInputOutputDescriptor = ["objc2-foundation/NSObject"] +MTLTensor = [ + "bitflags", + "objc2-foundation/NSError", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] MTLTexture = [ "bitflags", "objc2-foundation/NSObject", "objc2-foundation/NSRange", "objc2-foundation/NSString", ] +MTLTextureViewPool = [] MTLTypes = [] MTLVertexDescriptor = ["objc2-foundation/NSObject"] MTLVisibleFunctionTable = [ diff --git a/framework-crates/objc2-metal/translation-config.toml b/framework-crates/objc2-metal/translation-config.toml index c7f85ba72..5abc3e2e0 100644 --- a/framework-crates/objc2-metal/translation-config.toml +++ b/framework-crates/objc2-metal/translation-config.toml @@ -26,6 +26,9 @@ fn.MTLPackedFloat3Make.skipped = true # Manually defined to allow it to work on older OSes. fn.MTLCopyAllDevices.skipped = true +# isize referencing usize. +enum.MTLTensorDataType.use-value = true + ### ### Safety ### diff --git a/framework-crates/objc2-metric-kit/Cargo.toml b/framework-crates/objc2-metric-kit/Cargo.toml index dd7da74bc..2fa8e736b 100644 --- a/framework-crates/objc2-metric-kit/Cargo.toml +++ b/framework-crates/objc2-metric-kit/Cargo.toml @@ -50,6 +50,7 @@ default = [ "MXDiagnostic", "MXDiagnosticPayload", "MXDiskIOMetric", + "MXDiskSpaceUsageMetric", "MXDiskWriteExceptionDiagnostic", "MXDisplayMetric", "MXError", @@ -151,6 +152,11 @@ MXDiskIOMetric = [ "objc2-foundation/NSObject", "objc2-foundation/NSUnit", ] +MXDiskSpaceUsageMetric = [ + "objc2-foundation/NSMeasurement", + "objc2-foundation/NSObject", + "objc2-foundation/NSUnit", +] MXDiskWriteExceptionDiagnostic = [ "objc2-foundation/NSMeasurement", "objc2-foundation/NSObject", diff --git a/framework-crates/objc2-nearby-interaction/Cargo.toml b/framework-crates/objc2-nearby-interaction/Cargo.toml index 3738f11dd..f3d887918 100644 --- a/framework-crates/objc2-nearby-interaction/Cargo.toml +++ b/framework-crates/objc2-nearby-interaction/Cargo.toml @@ -45,6 +45,7 @@ default = [ "std", "NIAlgorithmConvergenceStatusReason", "NIConfiguration", + "NIDLTDOAMeasurement", "NIDeviceCapability", "NIError", "NIExport", @@ -65,6 +66,7 @@ NIConfiguration = [ "objc2-foundation/NSObject", "objc2-foundation/NSUUID", ] +NIDLTDOAMeasurement = ["objc2-foundation/NSObject"] NIDeviceCapability = [] NIError = [ "objc2-foundation/NSError", diff --git a/framework-crates/objc2-pass-kit/Cargo.toml b/framework-crates/objc2-pass-kit/Cargo.toml index 2871dd56b..89c5e1249 100644 --- a/framework-crates/objc2-pass-kit/Cargo.toml +++ b/framework-crates/objc2-pass-kit/Cargo.toml @@ -108,6 +108,7 @@ default = [ "PKObject", "PKPass", "PKPassLibrary", + "PKPassRelevantDate", "PKPass_Types", "PKPayment", "PKPaymentAuthorizationController", @@ -270,6 +271,10 @@ PKPassLibrary = [ "objc2-foundation/NSSet", "objc2-foundation/NSString", ] +PKPassRelevantDate = [ + "objc2-foundation/NSDate", + "objc2-foundation/NSDateInterval", +] PKPass_Types = [] PKPayment = [] PKPaymentAuthorizationController = [ diff --git a/framework-crates/objc2-pass-kit/translation-config.toml b/framework-crates/objc2-pass-kit/translation-config.toml index 9216e6709..528a90fd3 100644 --- a/framework-crates/objc2-pass-kit/translation-config.toml +++ b/framework-crates/objc2-pass-kit/translation-config.toml @@ -26,3 +26,7 @@ class.PKPass.methods.relevantDates.skipped = true # NS_RETURNS_INNER_POINTER, currently ill-supported. class.PKIssuerProvisioningExtensionPassEntry.methods.art.skipped = true + +# FIXME: Duplicated for some reason? +class.PKPassRelevantDate.methods.init.skipped = true +class.PKPassRelevantDate.methods.new.skipped = true diff --git a/framework-crates/objc2-pencil-kit/Cargo.toml b/framework-crates/objc2-pencil-kit/Cargo.toml index 8a3406b75..93c8cd780 100644 --- a/framework-crates/objc2-pencil-kit/Cargo.toml +++ b/framework-crates/objc2-pencil-kit/Cargo.toml @@ -22,6 +22,10 @@ objc2-core-foundation = { workspace = true, optional = true, features = [ "CFCGTypes", "objc2", ] } +objc2-core-graphics = { workspace = true, optional = true, features = [ + "CGColor", + "objc2", +] } objc2-foundation = { workspace = true, features = ["alloc"] } [target.'cfg(target_os = "macos")'.dependencies] @@ -57,15 +61,20 @@ default = [ "PKStrokePath", "PKStrokePoint", "PKTool", + "PKToolPickerEraserItem", + "PKToolPickerInkingItem", + "PKToolPickerItem", "block2", "objc2-app-kit", "objc2-core-foundation", + "objc2-core-graphics", ] std = ["alloc"] alloc = [] block2 = ["dep:block2"] objc2-app-kit = ["dep:objc2-app-kit"] objc2-core-foundation = ["dep:objc2-core-foundation"] +objc2-core-graphics = ["dep:objc2-core-graphics"] PKContentVersion = [] PKDrawing = [ @@ -100,3 +109,12 @@ PKStrokePoint = [ "objc2-foundation/NSObject", ] PKTool = ["objc2-foundation/NSObject"] +PKToolPickerEraserItem = ["objc2-foundation/NSObject"] +PKToolPickerInkingItem = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +PKToolPickerItem = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] diff --git a/framework-crates/objc2-quartz-core/Cargo.toml b/framework-crates/objc2-quartz-core/Cargo.toml index 299172696..7c615a1f1 100644 --- a/framework-crates/objc2-quartz-core/Cargo.toml +++ b/framework-crates/objc2-quartz-core/Cargo.toml @@ -42,6 +42,7 @@ objc2-metal = { workspace = true, optional = true, features = [ "MTLDevice", "MTLDrawable", "MTLPixelFormat", + "MTLResidencySet", "MTLResource", "MTLTexture", ] } @@ -65,6 +66,7 @@ default = [ "CABase", "CAConstraintLayoutManager", "CADisplayLink", + "CAEAGLLayer", "CAEDRMetadata", "CAEmitterCell", "CAEmitterLayer", @@ -129,6 +131,7 @@ CADisplayLink = [ "objc2-foundation/NSRunLoop", "objc2-foundation/NSString", ] +CAEAGLLayer = [] CAEDRMetadata = [ "objc2-foundation/NSData", "objc2-foundation/NSObject", diff --git a/framework-crates/objc2-screen-capture-kit/Cargo.toml b/framework-crates/objc2-screen-capture-kit/Cargo.toml index 3af2ac4c5..5c76fa477 100644 --- a/framework-crates/objc2-screen-capture-kit/Cargo.toml +++ b/framework-crates/objc2-screen-capture-kit/Cargo.toml @@ -46,6 +46,7 @@ objc2-core-media = { workspace = true, optional = true, features = [ "objc2", ] } objc2-foundation = { workspace = true, features = ["alloc"] } +objc2-uniform-type-identifiers = { workspace = true, optional = true, features = ["UTType"] } [package.metadata.docs.rs] default-target = "aarch64-apple-darwin" @@ -72,6 +73,7 @@ default = [ "objc2-core-foundation", "objc2-core-graphics", "objc2-core-media", + "objc2-uniform-type-identifiers", ] std = ["alloc"] alloc = [] @@ -83,6 +85,7 @@ objc2-av-foundation = ["dep:objc2-av-foundation"] objc2-core-foundation = ["dep:objc2-core-foundation"] objc2-core-graphics = ["dep:objc2-core-graphics"] objc2-core-media = ["dep:objc2-core-media"] +objc2-uniform-type-identifiers = ["dep:objc2-uniform-type-identifiers"] SCContentSharingPicker = [ "bitflags", @@ -97,7 +100,11 @@ SCRecordingOutput = [ "objc2-foundation/NSError", "objc2-foundation/NSURL", ] -SCScreenshotManager = ["objc2-foundation/NSError"] +SCScreenshotManager = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSURL", +] SCShareableContent = [ "objc2-foundation/NSArray", "objc2-foundation/NSError", diff --git a/framework-crates/objc2-sensitive-content-analysis/Cargo.toml b/framework-crates/objc2-sensitive-content-analysis/Cargo.toml index 1bfaf0514..7426d2324 100644 --- a/framework-crates/objc2-sensitive-content-analysis/Cargo.toml +++ b/framework-crates/objc2-sensitive-content-analysis/Cargo.toml @@ -18,11 +18,22 @@ workspace = true [dependencies] block2 = { workspace = true, optional = true, features = ["alloc"] } objc2 = { workspace = true, features = ["std"] } +objc2-av-foundation = { workspace = true, optional = true, features = ["AVCaptureInput"] } objc2-core-graphics = { workspace = true, optional = true, features = [ "CGImage", "objc2", ] } +objc2-core-video = { workspace = true, optional = true, features = [ + "CVBuffer", + "CVImageBuffer", + "CVPixelBuffer", + "objc2", +] } objc2-foundation = { workspace = true, features = ["alloc"] } +objc2-video-toolbox = { workspace = true, optional = true, features = [ + "VTDecompressionSession", + "objc2", +] } [package.metadata.docs.rs] default-target = "aarch64-apple-darwin" @@ -39,13 +50,20 @@ default = [ "std", "SCSensitivityAnalysis", "SCSensitivityAnalyzer", + "SCVideoStreamAnalyzer", "block2", + "objc2-av-foundation", "objc2-core-graphics", + "objc2-core-video", + "objc2-video-toolbox", ] std = ["alloc"] alloc = [] block2 = ["dep:block2"] +objc2-av-foundation = ["dep:objc2-av-foundation"] objc2-core-graphics = ["dep:objc2-core-graphics"] +objc2-core-video = ["dep:objc2-core-video"] +objc2-video-toolbox = ["dep:objc2-video-toolbox"] SCSensitivityAnalysis = [] SCSensitivityAnalyzer = [ @@ -53,3 +71,7 @@ SCSensitivityAnalyzer = [ "objc2-foundation/NSProgress", "objc2-foundation/NSURL", ] +SCVideoStreamAnalyzer = [ + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] diff --git a/framework-crates/objc2-sensitive-content-analysis/translation-config.toml b/framework-crates/objc2-sensitive-content-analysis/translation-config.toml index fe1612625..354b6fe21 100644 --- a/framework-crates/objc2-sensitive-content-analysis/translation-config.toml +++ b/framework-crates/objc2-sensitive-content-analysis/translation-config.toml @@ -4,3 +4,5 @@ required-crates = ["objc2", "objc2-foundation"] macos = "14.0" maccatalyst = "17.0" ios = "17.0" + +external.AVCaptureDeviceInput.module = "AVFoundation.AVCaptureInput" diff --git a/framework-crates/objc2-sensor-kit/Cargo.toml b/framework-crates/objc2-sensor-kit/Cargo.toml index 73961c2ff..2a19636ca 100644 --- a/framework-crates/objc2-sensor-kit/Cargo.toml +++ b/framework-crates/objc2-sensor-kit/Cargo.toml @@ -20,7 +20,6 @@ bitflags = { workspace = true, features = ["std"] } block2 = { workspace = true, optional = true, features = ["alloc"] } objc2 = { workspace = true, features = ["std"] } objc2-ar-kit = { workspace = true, optional = true, features = [ - "ARAnchor", "ARFaceAnchor", "objc2", ] } diff --git a/framework-crates/objc2-sensor-kit/translation-config.toml b/framework-crates/objc2-sensor-kit/translation-config.toml index 1e616142d..b09c91482 100644 --- a/framework-crates/objc2-sensor-kit/translation-config.toml +++ b/framework-crates/objc2-sensor-kit/translation-config.toml @@ -8,3 +8,5 @@ ios = "14.0" # unfortunately emitted as a single large file. # # This is also why `bitflags` is (currently) a required dependency. + +external.ARFaceAnchor.module = "ARKit.ARFaceAnchor" diff --git a/framework-crates/objc2-speech/Cargo.toml b/framework-crates/objc2-speech/Cargo.toml index 6ebd1e1ca..4edecd6c1 100644 --- a/framework-crates/objc2-speech/Cargo.toml +++ b/framework-crates/objc2-speech/Cargo.toml @@ -72,6 +72,7 @@ SFSpeechLanguageModel = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", "objc2-foundation/NSURL", + "objc2-foundation/NSValue", ] SFSpeechRecognitionMetadata = [ "objc2-foundation/NSDate", diff --git a/framework-crates/objc2-store-kit/Cargo.toml b/framework-crates/objc2-store-kit/Cargo.toml index 2aedc3e14..8652ab634 100644 --- a/framework-crates/objc2-store-kit/Cargo.toml +++ b/framework-crates/objc2-store-kit/Cargo.toml @@ -35,6 +35,12 @@ objc2-app-kit = { workspace = true, optional = true, features = [ "NSViewController", ] } +[target.'cfg(not(any(target_os = "tvos", target_os = "watchos")))'.dependencies] +objc2-background-assets = { workspace = true, optional = true, features = [ + "BADownloaderExtension", + "BAManagedDownloaderExtension", +] } + [package.metadata.docs.rs] default-target = "aarch64-apple-darwin" rustc-args = ["--cfg", "docsrs"] # Fix cross-crate link to objc2::topics @@ -47,6 +53,7 @@ targets = [ "aarch64-apple-ios-macabi", "aarch64-apple-visionos", ] +features = ["objc2-background-assets"] [features] default = [ @@ -58,6 +65,7 @@ default = [ "SKCloudServiceController", "SKCloudServiceSetupViewController", "SKDownload", + "SKDownloaderExtension", "SKError", "SKOverlay", "SKOverlayConfiguration", @@ -86,6 +94,7 @@ alloc = [] bitflags = ["dep:bitflags"] block2 = ["dep:block2"] objc2-app-kit = ["dep:objc2-app-kit"] +objc2-background-assets = ["dep:objc2-background-assets"] objc2-core-foundation = ["dep:objc2-core-foundation"] SKANError = ["objc2-foundation/NSString"] @@ -122,6 +131,7 @@ SKDownload = [ "objc2-foundation/NSURL", "objc2-foundation/NSValue", ] +SKDownloaderExtension = [] SKError = ["objc2-foundation/NSString"] SKOverlay = ["objc2-foundation/NSError"] SKOverlayConfiguration = ["objc2-foundation/NSString"] diff --git a/framework-crates/objc2-ui-kit/Cargo.toml b/framework-crates/objc2-ui-kit/Cargo.toml index f99ee6c3b..ea261ec1c 100644 --- a/framework-crates/objc2-ui-kit/Cargo.toml +++ b/framework-crates/objc2-ui-kit/Cargo.toml @@ -145,10 +145,12 @@ default = [ "UIApplicationShortcutItem", "UIAttachmentBehavior", "UIBackgroundConfiguration", + "UIBackgroundExtensionView", "UIBandSelectionInteraction", "UIBarAppearance", "UIBarButtonItem", "UIBarButtonItemAppearance", + "UIBarButtonItemBadge", "UIBarButtonItemGroup", "UIBarCommon", "UIBarItem", @@ -196,10 +198,13 @@ default = [ "UIContentUnavailableView", "UIContextMenuConfiguration", "UIContextMenuInteraction", + "UIContextMenuSystem", "UIContextualAction", "UIControl", "UIConversationContext", "UIConversationEntry", + "UICornerConfiguration", + "UICornerRadius", "UIDataDetectors", "UIDataSourceTranslating", "UIDatePicker", @@ -236,10 +241,13 @@ default = [ "UIFocus", "UIFocusAnimationCoordinator", "UIFocusDebugger", + "UIFocusDefines", "UIFocusEffect", "UIFocusGuide", "UIFocusMovementHint", "UIFocusSystem", + "UIFocusSystem_UIKitAdditions", + "UIFocusUpdateContext_UIKitAdditions", "UIFont", "UIFontDescriptor", "UIFontMetrics", @@ -249,6 +257,7 @@ default = [ "UIGeometry", "UIGestureRecognizer", "UIGestureRecognizerSubclass", + "UIGlassEffect", "UIGraphics", "UIGraphicsImageRenderer", "UIGraphicsPDFRenderer", @@ -295,6 +304,7 @@ default = [ "UILongPressGestureRecognizer", "UIMailConversationContext", "UIMailConversationEntry", + "UIMainMenuSystem", "UIManagedDocument", "UIMenu", "UIMenuBuilder", @@ -361,19 +371,24 @@ default = [ "UIRotationGestureRecognizer", "UIScene", "UISceneActivationConditions", + "UISceneConfiguration", "UISceneDefinitions", + "UISceneDestructionCondition", "UISceneEnhancedStateRestoration", "UISceneOptions", "UISceneSession", "UISceneSessionActivationRequest", + "UISceneSizeRestrictions", "UISceneSystemProtectionManager", "UISceneWindowingBehaviors", + "UISceneWindowingControlStyle", "UIScene_AVAudioSession", "UIScreen", "UIScreenEdgePanGestureRecognizer", "UIScreenMode", "UIScreenshotService", "UIScribbleInteraction", + "UIScrollEdgeElementContainerInteraction", "UIScrollView", "UISearchBar", "UISearchContainerViewController", @@ -388,9 +403,11 @@ default = [ "UIShape", "UISheetPresentationController", "UISlider", + "UISliderTrackConfiguration", "UISmartReplySuggestion", "UISnapBehavior", "UISplitViewController", + "UISplitViewControllerLayoutEnvironment", "UISpringLoadedInteraction", "UISpringLoadedInteractionSupporting", "UIStackView", @@ -405,8 +422,10 @@ default = [ "UISwipeActionsConfiguration", "UISwipeGestureRecognizer", "UISwitch", + "UISymbolContentTransition", "UISymbolEffectCompletion", "UITab", + "UITabAccessory", "UITabBar", "UITabBarAppearance", "UITabBarController", @@ -475,6 +494,7 @@ default = [ "UIViewControllerTransition", "UIViewControllerTransitionCoordinator", "UIViewControllerTransitioning", + "UIViewLayoutRegion", "UIViewPropertyAnimator", "UIVisualEffect", "UIVisualEffectView", @@ -826,6 +846,10 @@ UIApplicationShortcutItem = [ ] UIAttachmentBehavior = ["objc2-foundation/NSArray"] UIBackgroundConfiguration = ["objc2-foundation/NSObject"] +UIBackgroundExtensionView = [ + "objc2-foundation/NSCoder", + "objc2-foundation/NSObject", +] UIBandSelectionInteraction = [] UIBarAppearance = [ "objc2-foundation/NSCoder", @@ -844,6 +868,10 @@ UIBarButtonItemAppearance = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +UIBarButtonItemBadge = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] UIBarButtonItemGroup = [ "objc2-foundation/NSArray", "objc2-foundation/NSCoder", @@ -1039,6 +1067,7 @@ UIContextMenuConfiguration = [ "objc2-foundation/NSSet", ] UIContextMenuInteraction = ["objc2-foundation/NSObject"] +UIContextMenuSystem = [] UIContextualAction = ["objc2-foundation/NSString"] UIControl = [ "bitflags", @@ -1060,6 +1089,8 @@ UIConversationEntry = [ "objc2-foundation/NSSet", "objc2-foundation/NSString", ] +UICornerConfiguration = ["objc2-foundation/NSObject"] +UICornerRadius = ["objc2-foundation/NSObject"] UIDataDetectors = ["bitflags"] UIDataSourceTranslating = ["objc2-foundation/NSIndexPath"] UIDatePicker = [ @@ -1074,6 +1105,7 @@ UIDeferredMenuElement = [ "objc2-foundation/NSArray", "objc2-foundation/NSCoder", "objc2-foundation/NSObject", + "objc2-foundation/NSString", ] UIDevice = [ "objc2-foundation/NSNotification", @@ -1219,16 +1251,19 @@ UIFocus = [ ] UIFocusAnimationCoordinator = ["objc2-foundation/NSDate"] UIFocusDebugger = [] +UIFocusDefines = [] UIFocusEffect = ["objc2-foundation/NSObject"] UIFocusGuide = [ "objc2-foundation/NSArray", "objc2-foundation/NSObject", ] UIFocusMovementHint = ["objc2-foundation/NSObject"] -UIFocusSystem = [ +UIFocusSystem = [] +UIFocusSystem_UIKitAdditions = [ "objc2-foundation/NSString", "objc2-foundation/NSURL", ] +UIFocusUpdateContext_UIKitAdditions = [] UIFont = [ "objc2-foundation/NSArray", "objc2-foundation/NSObject", @@ -1270,6 +1305,7 @@ UIGestureRecognizer = [ "objc2-foundation/NSValue", ] UIGestureRecognizerSubclass = ["objc2-foundation/NSSet"] +UIGlassEffect = ["objc2-foundation/NSObject"] UIGraphics = [ "objc2-foundation/NSData", "objc2-foundation/NSDictionary", @@ -1435,6 +1471,7 @@ UIMailConversationEntry = [ "objc2-foundation/NSSet", "objc2-foundation/NSString", ] +UIMainMenuSystem = ["objc2-foundation/NSObject"] UIManagedDocument = [ "objc2-foundation/NSDictionary", "objc2-foundation/NSError", @@ -1501,6 +1538,7 @@ UINavigationController = [ ] UINavigationItem = [ "objc2-foundation/NSArray", + "objc2-foundation/NSAttributedString", "objc2-foundation/NSCoder", "objc2-foundation/NSObject", "objc2-foundation/NSRange", @@ -1686,10 +1724,15 @@ UISceneActivationConditions = [ "objc2-foundation/NSString", "objc2-foundation/NSUserActivity", ] +UISceneConfiguration = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] UISceneDefinitions = [ "objc2-foundation/NSError", "objc2-foundation/NSString", ] +UISceneDestructionCondition = ["objc2-foundation/NSObject"] UISceneEnhancedStateRestoration = [] UISceneOptions = [ "objc2-foundation/NSSet", @@ -1707,11 +1750,13 @@ UISceneSessionActivationRequest = [ "objc2-foundation/NSString", "objc2-foundation/NSUserActivity", ] +UISceneSizeRestrictions = [] UISceneSystemProtectionManager = [ "objc2-foundation/NSNotification", "objc2-foundation/NSString", ] UISceneWindowingBehaviors = [] +UISceneWindowingControlStyle = [] UIScene_AVAudioSession = [] UIScreen = [ "objc2-foundation/NSArray", @@ -1722,6 +1767,7 @@ UIScreenEdgePanGestureRecognizer = ["objc2-foundation/NSCoder"] UIScreenMode = [] UIScreenshotService = ["objc2-foundation/NSData"] UIScribbleInteraction = [] +UIScrollEdgeElementContainerInteraction = [] UIScrollView = [ "objc2-foundation/NSCoder", "objc2-foundation/NSObject", @@ -1735,6 +1781,7 @@ UISearchBar = [ "objc2-foundation/NSObject", "objc2-foundation/NSRange", "objc2-foundation/NSString", + "objc2-foundation/NSValue", ] UISearchContainerViewController = [ "objc2-foundation/NSBundle", @@ -1781,6 +1828,11 @@ UISlider = [ "objc2-foundation/NSCoder", "objc2-foundation/NSObject", ] +UISliderTrackConfiguration = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] UISmartReplySuggestion = ["objc2-foundation/NSString"] UISnapBehavior = [] UISplitViewController = [ @@ -1790,6 +1842,7 @@ UISplitViewController = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +UISplitViewControllerLayoutEnvironment = [] UISpringLoadedInteraction = [] UISpringLoadedInteractionSupporting = [] UIStackView = [ @@ -1830,8 +1883,10 @@ UISwitch = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +UISymbolContentTransition = ["objc2-foundation/NSObject"] UISymbolEffectCompletion = [] UITab = ["objc2-foundation/NSString"] +UITabAccessory = [] UITabBar = [ "objc2-foundation/NSArray", "objc2-foundation/NSCoder", @@ -1930,6 +1985,7 @@ UITextField = [ "objc2-foundation/NSObject", "objc2-foundation/NSRange", "objc2-foundation/NSString", + "objc2-foundation/NSValue", ] UITextFormattingCoordinator = [ "objc2-foundation/NSAttributedString", @@ -2119,6 +2175,7 @@ UIViewControllerTransitioning = [ "objc2-foundation/NSObject", "objc2-foundation/NSString", ] +UIViewLayoutRegion = [] UIViewPropertyAnimator = [ "objc2-foundation/NSDate", "objc2-foundation/NSObject", diff --git a/framework-crates/objc2-ui-kit/src/lib.rs b/framework-crates/objc2-ui-kit/src/lib.rs index 1eaef2f27..8f1e4e2eb 100644 --- a/framework-crates/objc2-ui-kit/src/lib.rs +++ b/framework-crates/objc2-ui-kit/src/lib.rs @@ -29,6 +29,7 @@ mod responder; mod tests; #[cfg(feature = "NSText")] mod text; +mod utilities; #[allow(unused_imports, unreachable_pub)] pub use self::generated::*; @@ -36,3 +37,4 @@ pub use self::generated::*; pub use self::responder::*; #[cfg(feature = "NSText")] pub use self::text::*; +pub use self::utilities::*; diff --git a/framework-crates/objc2-ui-kit/src/utilities.rs b/framework-crates/objc2-ui-kit/src/utilities.rs new file mode 100644 index 000000000..fc34a59fc --- /dev/null +++ b/framework-crates/objc2-ui-kit/src/utilities.rs @@ -0,0 +1,116 @@ +#![allow(unused_imports, non_snake_case)] +use objc2::__framework_prelude::*; +#[cfg(feature = "objc2-core-foundation")] +use objc2_core_foundation::*; +use objc2_foundation::*; + +use crate::*; + +#[cfg(feature = "UIView")] +extern_protocol!( + /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uicoordinatespace?language=objc) + pub unsafe trait UICoordinateSpace: NSObjectProtocol + MainThreadOnly { + #[cfg(feature = "objc2-core-foundation")] + #[unsafe(method(convertPoint:toCoordinateSpace:))] + #[unsafe(method_family = none)] + fn convertPoint_toCoordinateSpace( + &self, + point: CGPoint, + coordinate_space: &ProtocolObject, + ) -> CGPoint; + + #[cfg(feature = "objc2-core-foundation")] + #[unsafe(method(convertPoint:fromCoordinateSpace:))] + #[unsafe(method_family = none)] + fn convertPoint_fromCoordinateSpace( + &self, + point: CGPoint, + coordinate_space: &ProtocolObject, + ) -> CGPoint; + + #[cfg(feature = "objc2-core-foundation")] + #[unsafe(method(convertRect:toCoordinateSpace:))] + #[unsafe(method_family = none)] + fn convertRect_toCoordinateSpace( + &self, + rect: CGRect, + coordinate_space: &ProtocolObject, + ) -> CGRect; + + #[cfg(feature = "objc2-core-foundation")] + #[unsafe(method(convertRect:fromCoordinateSpace:))] + #[unsafe(method_family = none)] + fn convertRect_fromCoordinateSpace( + &self, + rect: CGRect, + coordinate_space: &ProtocolObject, + ) -> CGRect; + + #[cfg(feature = "objc2-core-foundation")] + #[unsafe(method(bounds))] + #[unsafe(method_family = none)] + fn bounds(&self) -> CGRect; + } +); + +/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiaxis?language=objc) +// NS_OPTIONS +#[repr(transparent)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] +#[cfg(feature = "UIGeometry")] +pub struct UIAxis(pub NSUInteger); +bitflags::bitflags! { + impl UIAxis: NSUInteger { + #[doc(alias = "UIAxisNeither")] + const Neither = 0; + #[doc(alias = "UIAxisHorizontal")] + const Horizontal = 1<<0; + #[doc(alias = "UIAxisVertical")] + const Vertical = 1<<1; + #[doc(alias = "UIAxisBoth")] + const Both = UIAxis::Horizontal.0|UIAxis::Vertical.0; + } +} + +#[cfg(feature = "UIGeometry")] +unsafe impl Encode for UIAxis { + const ENCODING: Encoding = NSUInteger::ENCODING; +} + +#[cfg(feature = "UIGeometry")] +unsafe impl RefEncode for UIAxis { + const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING); +} + +/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uirectedge?language=objc) +// NS_OPTIONS +#[cfg(feature = "UIGeometry")] +#[repr(transparent)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub struct UIRectEdge(pub NSUInteger); +bitflags::bitflags! { + impl UIRectEdge: NSUInteger { + #[doc(alias = "UIRectEdgeNone")] + const None = 0; + #[doc(alias = "UIRectEdgeTop")] + const Top = 1<<0; + #[doc(alias = "UIRectEdgeLeft")] + const Left = 1<<1; + #[doc(alias = "UIRectEdgeBottom")] + const Bottom = 1<<2; + #[doc(alias = "UIRectEdgeRight")] + const Right = 1<<3; + #[doc(alias = "UIRectEdgeAll")] + const All = UIRectEdge::Top.0|UIRectEdge::Left.0|UIRectEdge::Bottom.0|UIRectEdge::Right.0; + } +} + +#[cfg(feature = "UIGeometry")] +unsafe impl Encode for UIRectEdge { + const ENCODING: Encoding = NSUInteger::ENCODING; +} + +#[cfg(feature = "UIGeometry")] +unsafe impl RefEncode for UIRectEdge { + const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING); +} diff --git a/framework-crates/objc2-ui-kit/translation-config.toml b/framework-crates/objc2-ui-kit/translation-config.toml index ec0a42bce..42a6c2d56 100644 --- a/framework-crates/objc2-ui-kit/translation-config.toml +++ b/framework-crates/objc2-ui-kit/translation-config.toml @@ -9,6 +9,7 @@ watchos = "2.0" visionos = "1.0" external.INIntent.module = "Intents.INIntent" +external.INIntentResponse.module = "Intents.INIntentResponse" external.UTType.module = "UniformTypeIdentifiers.UTType" external.CKContainer.module = "CloudKit.CKContainer" external.CKShare.module = "CloudKit.CKShare" @@ -125,6 +126,8 @@ class.UITraitImageDynamicRange.main-thread-only = true class.UITraitTypesettingLanguage.main-thread-only = true class.UITraitSceneCaptureState.main-thread-only = true class.UITraitListEnvironment.main-thread-only = true +class.UITraitSplitViewControllerLayoutEnvironment.main-thread-only = true +class.UITraitHDRHeadroomUsageLimit.main-thread-only = true # We don't really want objc2-ui-kit to depend on objc2-core-text class.NSAdaptiveImageGlyph.skipped-protocols = ["CTAdaptiveImageProviding"] diff --git a/framework-crates/objc2-video-subscriber-account/Cargo.toml b/framework-crates/objc2-video-subscriber-account/Cargo.toml index 29af684bd..ddeae3c88 100644 --- a/framework-crates/objc2-video-subscriber-account/Cargo.toml +++ b/framework-crates/objc2-video-subscriber-account/Cargo.toml @@ -45,6 +45,9 @@ default = [ "VSAccountMetadataRequest", "VSAccountProviderResponse", "VSAppleSubscription", + "VSAutoSignInAuthorization", + "VSAutoSignInToken", + "VSAutoSignInTokenUpdateContext", "VSSubscription", "VSSubscriptionRegistrationCenter", "VSUserAccount", @@ -82,6 +85,12 @@ VSAppleSubscription = [ "objc2-foundation/NSArray", "objc2-foundation/NSString", ] +VSAutoSignInAuthorization = [] +VSAutoSignInToken = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +VSAutoSignInTokenUpdateContext = [] VSSubscription = [ "objc2-foundation/NSArray", "objc2-foundation/NSDate", diff --git a/framework-crates/objc2-video-toolbox/Cargo.toml b/framework-crates/objc2-video-toolbox/Cargo.toml index 674f585e7..4286fbed4 100644 --- a/framework-crates/objc2-video-toolbox/Cargo.toml +++ b/framework-crates/objc2-video-toolbox/Cargo.toml @@ -73,10 +73,16 @@ default = [ "VTFrameProcessorFrame", "VTFrameProcessorParameters", "VTFrameProcessor_FrameRateConversion", + "VTFrameProcessor_LowLatencyFrameInterpolation", + "VTFrameProcessor_LowLatencySuperResolutionScaler", "VTFrameProcessor_MotionBlur", "VTFrameProcessor_OpticalFlow", + "VTFrameProcessor_SuperResolutionScaler", + "VTFrameProcessor_TemporalNoiseFilter", "VTFrameSilo", "VTHDRPerFrameMetadataGenerationSession", + "VTMotionEstimationSession", + "VTMotionEstimationSessionProperties", "VTMultiPassStorage", "VTPixelRotationProperties", "VTPixelRotationSession", @@ -129,13 +135,22 @@ VTFrameProcessorErrors = [] VTFrameProcessorFrame = [] VTFrameProcessorParameters = [] VTFrameProcessor_FrameRateConversion = [] +VTFrameProcessor_LowLatencyFrameInterpolation = [] +VTFrameProcessor_LowLatencySuperResolutionScaler = [] VTFrameProcessor_MotionBlur = [] VTFrameProcessor_OpticalFlow = [] +VTFrameProcessor_SuperResolutionScaler = [] +VTFrameProcessor_TemporalNoiseFilter = [] VTFrameSilo = [ "objc2-core-foundation/CFDictionary", "objc2-core-foundation/CFURL", ] VTHDRPerFrameMetadataGenerationSession = ["objc2-core-foundation/CFDictionary"] +VTMotionEstimationSession = [ + "bitflags", + "objc2-core-foundation/CFDictionary", +] +VTMotionEstimationSessionProperties = [] VTMultiPassStorage = [ "objc2-core-foundation/CFDictionary", "objc2-core-foundation/CFURL", diff --git a/framework-crates/objc2-virtualization/Cargo.toml b/framework-crates/objc2-virtualization/Cargo.toml index 8f171f4ff..5984f1ec3 100644 --- a/framework-crates/objc2-virtualization/Cargo.toml +++ b/framework-crates/objc2-virtualization/Cargo.toml @@ -163,6 +163,7 @@ default = [ "VZVirtualMachineDelegate", "VZVirtualMachineStartOptions", "VZVirtualMachineView", + "VZVmnetNetworkDeviceAttachment", "VZXHCIController", "VZXHCIControllerConfiguration", "bitflags", @@ -397,5 +398,6 @@ VZVirtualMachineView = [ "objc2-foundation/NSObject", "objc2-foundation/objc2-core-foundation", ] +VZVmnetNetworkDeviceAttachment = [] VZXHCIController = [] VZXHCIControllerConfiguration = ["objc2-foundation/NSObject"] diff --git a/framework-crates/objc2-virtualization/translation-config.toml b/framework-crates/objc2-virtualization/translation-config.toml index 9e7fe3c9b..4e84ac7e3 100644 --- a/framework-crates/objc2-virtualization/translation-config.toml +++ b/framework-crates/objc2-virtualization/translation-config.toml @@ -8,3 +8,7 @@ macos = "11.0" class.VZMACAddress.methods."initWithEthernetAddress:".skipped = true # Needs `ether_addr_t` class.VZMACAddress.methods.ethernetAddress.skipped = true + +# Needs `vmnet_network_ref` from `vmnet` +class.VZVmnetNetworkDeviceAttachment.methods."initWithNetwork:".skipped = true +class.VZVmnetNetworkDeviceAttachment.methods.network.skipped = true diff --git a/framework-crates/objc2-web-kit/Cargo.toml b/framework-crates/objc2-web-kit/Cargo.toml index 20bcc3df4..a62a78670 100644 --- a/framework-crates/objc2-web-kit/Cargo.toml +++ b/framework-crates/objc2-web-kit/Cargo.toml @@ -51,7 +51,6 @@ objc2-app-kit = { workspace = true, optional = true, features = [ "NSPrintInfo", "NSPrintOperation", "NSResponder", - "NSTextCheckingClient", "NSTextFinder", "NSTextView", "NSUserInterfaceItemIdentification", @@ -875,6 +874,7 @@ WKWebExtensionWindowConfiguration = [ "objc2-foundation/NSURL", ] WKWebView = [ + "bitflags", "objc2-foundation/NSArray", "objc2-foundation/NSCoder", "objc2-foundation/NSData", @@ -900,6 +900,7 @@ WKWebsiteDataRecord = [ ] WKWebsiteDataStore = [ "objc2-foundation/NSArray", + "objc2-foundation/NSData", "objc2-foundation/NSDate", "objc2-foundation/NSError", "objc2-foundation/NSObject", diff --git a/generated b/generated index 5ba488867..313727217 160000 --- a/generated +++ b/generated @@ -1 +1 @@ -Subproject commit 5ba48886743ac89cb1cfade5e56a485084dbb040 +Subproject commit 31372721739b98f0e3f04faa71db3098b9704bf1