From 528b99037df36fd2c23f054bb54eae1eecde6282 Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Sun, 12 Jan 2025 08:00:15 +0100 Subject: [PATCH] Add the HomeKit framework --- .github/workflows/ci.yml | 12 +- Cargo.lock | 15 + .../src/topics/about_generated/CHANGELOG.md | 1 + .../src/topics/about_generated/list_data.md | 1 + crates/test-frameworks/Cargo.toml | 9 +- framework-crates/objc2-home-kit/Cargo.toml | 297 ++++++++++++++++++ framework-crates/objc2-home-kit/README.md | 14 + framework-crates/objc2-home-kit/src/generated | 1 + framework-crates/objc2-home-kit/src/lib.rs | 20 ++ .../objc2-home-kit/translation-config.toml | 31 ++ generated | 2 +- 11 files changed, 393 insertions(+), 10 deletions(-) create mode 100644 framework-crates/objc2-home-kit/Cargo.toml create mode 100644 framework-crates/objc2-home-kit/README.md create mode 120000 framework-crates/objc2-home-kit/src/generated create mode 100644 framework-crates/objc2-home-kit/src/lib.rs create mode 100644 framework-crates/objc2-home-kit/translation-config.toml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 41c42264c..9f6f4c36e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,12 +53,12 @@ env: FRAMEWORKS_MACOS_13: --package=objc2-accessibility --package=objc2-accounts --package=objc2-ad-services --package=objc2-ad-support --package=objc2-app-kit --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-automator --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-business-chat --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-core-wlan --package=objc2-data-detection --package=objc2-device-check --package=objc2-disk-arbitration --package=objc2-event-kit --package=objc2-exception-handling --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider --package=objc2-file-provider-ui --package=objc2-finder-sync --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-identity-lookup --package=objc2-input-method-kit --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-mail-kit --package=objc2-map-kit --package=objc2-media-player --package=objc2-metal --package=objc2-metal-fx --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-ml-compute --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-open-directory --package=objc2-osa-kit --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-screen-capture-kit --package=objc2-screen-saver --package=objc2-service-management --package=objc2-social --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-system-configuration --package=objc2-system-extensions --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-virtualization --package=objc2-vision --package=objc2-web-kit FRAMEWORKS_MACOS_14: --package=objc2-accessibility --package=objc2-accounts --package=objc2-ad-services --package=objc2-ad-support --package=objc2-app-kit --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-automator --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-business-chat --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-core-wlan --package=objc2-data-detection --package=objc2-device-check --package=objc2-disk-arbitration --package=objc2-event-kit --package=objc2-exception-handling --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider --package=objc2-file-provider-ui --package=objc2-finder-sync --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-identity-lookup --package=objc2-input-method-kit --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-mail-kit --package=objc2-map-kit --package=objc2-media-player --package=objc2-metal --package=objc2-metal-fx --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-ml-compute --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-open-directory --package=objc2-osa-kit --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-screen-capture-kit --package=objc2-screen-saver --package=objc2-sensitive-content-analysis --package=objc2-service-management --package=objc2-social --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-system-extensions --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-virtualization --package=objc2-vision --package=objc2-web-kit FRAMEWORKS_MACOS_15: --package=objc2-accessibility --package=objc2-accounts --package=objc2-ad-services --package=objc2-ad-support --package=objc2-app-kit --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-automator --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-business-chat --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-core-wlan --package=objc2-data-detection --package=objc2-device-check --package=objc2-disk-arbitration --package=objc2-event-kit --package=objc2-exception-handling --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider --package=objc2-file-provider-ui --package=objc2-finder-sync --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-identity-lookup --package=objc2-input-method-kit --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-mail-kit --package=objc2-map-kit --package=objc2-media-player --package=objc2-metal --package=objc2-metal-fx --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-ml-compute --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-open-directory --package=objc2-osa-kit --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-screen-capture-kit --package=objc2-screen-saver --package=objc2-sensitive-content-analysis --package=objc2-service-management --package=objc2-social --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-system-extensions --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-virtualization --package=objc2-vision --package=objc2-web-kit - FRAMEWORKS_IOS_10: --package=objc2-accounts --package=objc2-ad-support --package=objc2-audio-toolbox --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-call-kit --package=objc2-cloud-kit --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-external-accessory --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-local-authentication --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-messages --package=objc2-metal --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-multipeer-connectivity --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-social --package=objc2-speech --package=objc2-store-kit --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-watch-connectivity - FRAMEWORKS_IOS_17: --package=objc2-accessibility --package=objc2-accounts --package=objc2-ad-services --package=objc2-ad-support --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-background-tasks --package=objc2-business-chat --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider --package=objc2-file-provider-ui --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-identity-lookup --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-messages --package=objc2-metal --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sensitive-content-analysis --package=objc2-social --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision --package=objc2-watch-connectivity --package=objc2-web-kit - FRAMEWORKS_TVOS_17: --package=objc2-accessibility --package=objc2-ad-support --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-avf-audio --package=objc2-background-tasks --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-map-kit --package=objc2-media-player --package=objc2-metal --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-ml-compute --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sound-analysis --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision - FRAMEWORKS_MAC_CATALYST_17: --package=objc2-accessibility --package=objc2-accounts --package=objc2-ad-services --package=objc2-ad-support --package=objc2-app-kit --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-automator --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-background-tasks --package=objc2-business-chat --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-core-wlan --package=objc2-data-detection --package=objc2-device-check --package=objc2-disk-arbitration --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-exception-handling --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider-ui --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-identity-lookup --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-messages --package=objc2-metal --package=objc2-metal-fx --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-ml-compute --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-open-directory --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sensitive-content-analysis --package=objc2-service-management --package=objc2-social --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision --package=objc2-watch-connectivity --package=objc2-web-kit - FRAMEWORKS_VISIONOS_1: --package=objc2-accessibility --package=objc2-ad-services --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-background-tasks --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider --package=objc2-file-provider-ui --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-identity-lookup --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-metal --package=objc2-metal-fx --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision --package=objc2-watch-connectivity --package=objc2-web-kit - FRAMEWORKS_WATCHOS_10: --package=objc2-accessibility --package=objc2-authentication-services --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-avf-audio --package=objc2-call-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-event-kit --package=objc2-extension-kit --package=objc2-foundation --package=objc2-game-kit --package=objc2-health-kit --package=objc2-local-authentication --package=objc2-map-kit --package=objc2-media-player --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-photos-ui --package=objc2-sound-analysis --package=objc2-store-kit --package=objc2-symbols --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-watch-connectivity + FRAMEWORKS_IOS_10: --package=objc2-accounts --package=objc2-ad-support --package=objc2-audio-toolbox --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-call-kit --package=objc2-cloud-kit --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-external-accessory --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-home-kit --package=objc2-local-authentication --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-messages --package=objc2-metal --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-multipeer-connectivity --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-social --package=objc2-speech --package=objc2-store-kit --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-watch-connectivity + FRAMEWORKS_IOS_17: --package=objc2-accessibility --package=objc2-accounts --package=objc2-ad-services --package=objc2-ad-support --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-background-tasks --package=objc2-business-chat --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider --package=objc2-file-provider-ui --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-home-kit --package=objc2-identity-lookup --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-messages --package=objc2-metal --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sensitive-content-analysis --package=objc2-social --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision --package=objc2-watch-connectivity --package=objc2-web-kit + FRAMEWORKS_TVOS_17: --package=objc2-accessibility --package=objc2-ad-support --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-avf-audio --package=objc2-background-tasks --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-home-kit --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-map-kit --package=objc2-media-player --package=objc2-metal --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-ml-compute --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sound-analysis --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision + FRAMEWORKS_MAC_CATALYST_17: --package=objc2-accessibility --package=objc2-accounts --package=objc2-ad-services --package=objc2-ad-support --package=objc2-app-kit --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-automator --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-background-tasks --package=objc2-business-chat --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-core-wlan --package=objc2-data-detection --package=objc2-device-check --package=objc2-disk-arbitration --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-exception-handling --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider-ui --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-home-kit --package=objc2-identity-lookup --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-messages --package=objc2-metal --package=objc2-metal-fx --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-ml-compute --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-open-directory --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sensitive-content-analysis --package=objc2-service-management --package=objc2-social --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision --package=objc2-watch-connectivity --package=objc2-web-kit + FRAMEWORKS_VISIONOS_1: --package=objc2-accessibility --package=objc2-ad-services --package=objc2-app-tracking-transparency --package=objc2-audio-toolbox --package=objc2-authentication-services --package=objc2-automatic-assessment-configuration --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-av-routing --package=objc2-avf-audio --package=objc2-background-assets --package=objc2-background-tasks --package=objc2-call-kit --package=objc2-class-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-contacts-ui --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-image --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-event-kit --package=objc2-event-kit-ui --package=objc2-extension-kit --package=objc2-external-accessory --package=objc2-file-provider --package=objc2-file-provider-ui --package=objc2-foundation --package=objc2-game-controller --package=objc2-game-kit --package=objc2-health-kit --package=objc2-home-kit --package=objc2-identity-lookup --package=objc2-io-surface --package=objc2-link-presentation --package=objc2-local-authentication --package=objc2-local-authentication-embedded-ui --package=objc2-map-kit --package=objc2-media-player --package=objc2-message-ui --package=objc2-metal --package=objc2-metal-fx --package=objc2-metal-kit --package=objc2-metal-performance-shaders --package=objc2-metal-performance-shaders-graph --package=objc2-metric-kit --package=objc2-multipeer-connectivity --package=objc2-natural-language --package=objc2-network-extension --package=objc2-photos --package=objc2-photos-ui --package=objc2-quartz-core --package=objc2-sound-analysis --package=objc2-speech --package=objc2-store-kit --package=objc2-symbols --package=objc2-system-configuration --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-video-toolbox --package=objc2-vision --package=objc2-watch-connectivity --package=objc2-web-kit + FRAMEWORKS_WATCHOS_10: --package=objc2-accessibility --package=objc2-authentication-services --package=objc2-av-foundation --package=objc2-av-kit --package=objc2-avf-audio --package=objc2-call-kit --package=objc2-cloud-kit --package=objc2-color-sync --package=objc2-contacts --package=objc2-core-audio-types --package=objc2-core-bluetooth --package=objc2-core-data --package=objc2-core-foundation --package=objc2-core-graphics --package=objc2-core-location --package=objc2-core-media --package=objc2-core-midi --package=objc2-core-ml --package=objc2-core-motion --package=objc2-core-text --package=objc2-core-video --package=objc2-data-detection --package=objc2-device-check --package=objc2-event-kit --package=objc2-extension-kit --package=objc2-foundation --package=objc2-game-kit --package=objc2-health-kit --package=objc2-home-kit --package=objc2-local-authentication --package=objc2-map-kit --package=objc2-media-player --package=objc2-natural-language --package=objc2-nearby-interaction --package=objc2-network-extension --package=objc2-photos-ui --package=objc2-sound-analysis --package=objc2-store-kit --package=objc2-symbols --package=objc2-ui-kit --package=objc2-uniform-type-identifiers --package=objc2-user-notifications --package=objc2-watch-connectivity FRAMEWORKS_GNUSTEP: --package=objc2-app-kit --package=objc2-foundation # END AUTOMATICALLY GENERATED diff --git a/Cargo.lock b/Cargo.lock index 339694d04..0c8ef8e32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -968,6 +968,20 @@ dependencies = [ "objc2-uniform-type-identifiers", ] +[[package]] +name = "objc2-home-kit" +version = "0.2.2" +dependencies = [ + "bitflags", + "block2", + "objc2", + "objc2-core-foundation", + "objc2-core-location", + "objc2-foundation", + "objc2-quartz-core", + "objc2-ui-kit", +] + [[package]] name = "objc2-identity-lookup" version = "0.2.2" @@ -1766,6 +1780,7 @@ dependencies = [ "objc2-game-controller", "objc2-game-kit", "objc2-health-kit", + "objc2-home-kit", "objc2-identity-lookup", "objc2-input-method-kit", "objc2-io-surface", diff --git a/crates/objc2/src/topics/about_generated/CHANGELOG.md b/crates/objc2/src/topics/about_generated/CHANGELOG.md index 5bea0fbe8..5434b2ebd 100644 --- a/crates/objc2/src/topics/about_generated/CHANGELOG.md +++ b/crates/objc2/src/topics/about_generated/CHANGELOG.md @@ -34,6 +34,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - `CoreVideo` / `objc2-core-video`. - `DiskArbitration` / `objc2-disk-arbitration`. - `EventKitUI` / `objc2-event-kit-ui`. + - `HomeKit` / `objc2-home-kit`. - `IOSurface` / `objc2-io-surface`. - `Messages` / `objc2-messages`. - `MessageUI` / `objc2-message-ui`. diff --git a/crates/objc2/src/topics/about_generated/list_data.md b/crates/objc2/src/topics/about_generated/list_data.md index a395f68e8..b1dd4ca10 100644 --- a/crates/objc2/src/topics/about_generated/list_data.md +++ b/crates/objc2/src/topics/about_generated/list_data.md @@ -52,6 +52,7 @@ | `GameController` | [![`objc2-game-controller`](https://badgen.net/crates/v/objc2-game-controller)](https://crates.io/crates/objc2-game-controller) | [![docs.rs](https://docs.rs/objc2-game-controller/badge.svg)](https://docs.rs/objc2-game-controller/) | | `GameKit` | [![`objc2-game-kit`](https://badgen.net/crates/v/objc2-game-kit)](https://crates.io/crates/objc2-game-kit) | [![docs.rs](https://docs.rs/objc2-game-kit/badge.svg)](https://docs.rs/objc2-game-kit/) | | `HealthKit` | [![`objc2-health-kit`](https://badgen.net/crates/v/objc2-health-kit)](https://crates.io/crates/objc2-health-kit) | [![docs.rs](https://docs.rs/objc2-health-kit/badge.svg)](https://docs.rs/objc2-health-kit/) | +| `HomeKit` | [![`objc2-home-kit`](https://badgen.net/crates/v/objc2-home-kit)](https://crates.io/crates/objc2-home-kit) | [![docs.rs](https://docs.rs/objc2-home-kit/badge.svg)](https://docs.rs/objc2-home-kit/) | | `IOSurface` | [![`objc2-io-surface`](https://badgen.net/crates/v/objc2-io-surface)](https://crates.io/crates/objc2-io-surface) | [![docs.rs](https://docs.rs/objc2-io-surface/badge.svg)](https://docs.rs/objc2-io-surface/) | | `IdentityLookup` | [![`objc2-identity-lookup`](https://badgen.net/crates/v/objc2-identity-lookup)](https://crates.io/crates/objc2-identity-lookup) | [![docs.rs](https://docs.rs/objc2-identity-lookup/badge.svg)](https://docs.rs/objc2-identity-lookup/) | | `InputMethodKit` | [![`objc2-input-method-kit`](https://badgen.net/crates/v/objc2-input-method-kit)](https://crates.io/crates/objc2-input-method-kit) | [![docs.rs](https://docs.rs/objc2-input-method-kit/badge.svg)](https://docs.rs/objc2-input-method-kit/) | diff --git a/crates/test-frameworks/Cargo.toml b/crates/test-frameworks/Cargo.toml index b88063580..1e72bbe49 100644 --- a/crates/test-frameworks/Cargo.toml +++ b/crates/test-frameworks/Cargo.toml @@ -118,6 +118,8 @@ test-frameworks = [ "objc2-game-kit/all", "dep:objc2-health-kit", "objc2-health-kit/all", + "dep:objc2-home-kit", + "objc2-home-kit/all", "dep:objc2-io-surface", "objc2-io-surface/all", "dep:objc2-identity-lookup", @@ -328,14 +330,15 @@ objc2-local-authentication = { path = "../../framework-crates/objc2-local-authen objc2-event-kit-ui = { path = "../../framework-crates/objc2-event-kit-ui", optional = true } objc2-message-ui = { path = "../../framework-crates/objc2-message-ui", optional = true } +[target.'cfg(any(target_os = "ios", target_os = "tvos", target_os = "watchos", target_os = "visionos"))'.dependencies] +objc2-home-kit = { path = "../../framework-crates/objc2-home-kit", optional = true } +objc2-ui-kit = { path = "../../framework-crates/objc2-ui-kit", optional = true } + [target.'cfg(target_os = "ios")'.dependencies] objc2-messages = { path = "../../framework-crates/objc2-messages", optional = true } [target.'cfg(any(target_os = "macos", target_os = "ios", target_os = "watchos"))'.dependencies] objc2-nearby-interaction = { path = "../../framework-crates/objc2-nearby-interaction", optional = true } -[target.'cfg(any(target_os = "ios", target_os = "tvos", target_os = "watchos", target_os = "visionos"))'.dependencies] -objc2-ui-kit = { path = "../../framework-crates/objc2-ui-kit", optional = true } - [target.'cfg(any(target_os = "ios", target_os = "watchos", target_os = "visionos"))'.dependencies] objc2-watch-connectivity = { path = "../../framework-crates/objc2-watch-connectivity", optional = true } diff --git a/framework-crates/objc2-home-kit/Cargo.toml b/framework-crates/objc2-home-kit/Cargo.toml new file mode 100644 index 000000000..a1a460ea9 --- /dev/null +++ b/framework-crates/objc2-home-kit/Cargo.toml @@ -0,0 +1,297 @@ +# This file has been automatically generated by `objc2`'s `header-translator`. +# DO NOT EDIT + +[package] +name = "objc2-home-kit" +version.workspace = true +description = "Bindings to the HomeKit framework" +edition.workspace = true +rust-version.workspace = true +keywords = ["cocoa", "apple", "framework", "ios"] +categories.workspace = true +repository.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +bitflags = { version = "2.5.0", default-features = false, optional = true } +block2 = { path = "../../crates/block2", version = "0.5.1", default-features = false, optional = true, features = ["alloc"] } +objc2 = { path = "../../crates/objc2", version = "0.5.2", default-features = false, features = ["std"] } +objc2-core-foundation = { path = "../objc2-core-foundation", version = "0.2.2", default-features = false, optional = true, features = ["objc2"] } +objc2-core-location = { path = "../objc2-core-location", version = "0.2.2", default-features = false, optional = true } +objc2-foundation = { path = "../objc2-foundation", version = "0.2.2", default-features = false, features = ["alloc"] } +objc2-ui-kit = { path = "../objc2-ui-kit", version = "0.2.2", default-features = false, optional = true } + +[target.'cfg(not(target_os = "watchos"))'.dependencies] +objc2-quartz-core = { path = "../objc2-quartz-core", version = "0.2.2", default-features = false, optional = true } + +[package.metadata.docs.rs] +default-target = "aarch64-apple-ios" +features = ["all"] +rustc-args = ["--cfg", "docsrs"] # Fix cross-crate link to objc2::topics +targets = [ + "aarch64-apple-ios", + "x86_64-apple-ios", + "aarch64-apple-tvos", + "aarch64-apple-watchos", + "aarch64-apple-ios-macabi", +] + +[features] +default = ["std"] +std = ["alloc", "bitflags?/std"] +alloc = [] +bitflags = ["dep:bitflags", "objc2-core-foundation?/bitflags", "objc2-foundation/bitflags", "objc2-quartz-core?/bitflags", "objc2-ui-kit?/bitflags"] +block2 = ["dep:block2", "objc2-core-foundation?/block2", "objc2-core-location?/block2", "objc2-foundation/block2", "objc2-quartz-core?/block2", "objc2-ui-kit?/block2"] +objc2-core-foundation = ["dep:objc2-core-foundation", "objc2-foundation/objc2-core-foundation", "objc2-quartz-core?/objc2-core-foundation", "objc2-ui-kit?/objc2-core-foundation"] +objc2-core-location = ["dep:objc2-core-location", "objc2-ui-kit?/objc2-core-location"] +objc2-quartz-core = ["dep:objc2-quartz-core", "objc2-ui-kit?/objc2-quartz-core"] +objc2-ui-kit = ["dep:objc2-ui-kit"] + +HMAccessControl = [] +HMAccessory = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", + "objc2-foundation/NSValue", +] +HMAccessoryBrowser = ["objc2-foundation/NSArray"] +HMAccessoryCategory = ["objc2-foundation/NSString"] +HMAccessoryCategoryTypes = ["objc2-foundation/NSString"] +HMAccessoryProfile = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSUUID", +] +HMAccessorySetupManager = ["objc2-foundation/NSError"] +HMAccessorySetupPayload = [ + "objc2-foundation/NSData", + "objc2-foundation/NSURL", +] +HMAccessorySetupRequest = [ + "objc2-foundation/NSObject", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +HMAccessorySetupResult = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSObject", + "objc2-foundation/NSUUID", +] +HMAccessory_Camera = ["objc2-foundation/NSArray"] +HMAction = ["objc2-foundation/NSUUID"] +HMActionSet = [ + "objc2-foundation/NSDate", + "objc2-foundation/NSError", + "objc2-foundation/NSSet", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +HMAddAccessoryRequest = [ + "objc2-foundation/NSString", + "objc2-foundation/NSURL", +] +HMCalendarEvent = [ + "objc2-foundation/NSCalendar", + "objc2-foundation/NSObject", +] +HMCameraAudioControl = [] +HMCameraControl = [] +HMCameraDefines = [] +HMCameraProfile = [] +HMCameraSettingsControl = [] +HMCameraSnapshot = ["objc2-foundation/NSDate"] +HMCameraSnapshotControl = ["objc2-foundation/NSError"] +HMCameraSource = [] +HMCameraStream = ["objc2-foundation/NSError"] +HMCameraStreamControl = ["objc2-foundation/NSError"] +HMCameraView = [ + "objc2-core-foundation?/CFCGTypes", + "objc2-foundation/NSCoder", + "objc2-foundation/NSObject", + "objc2-quartz-core?/CALayer", + "objc2-ui-kit?/UIAppearance", + "objc2-ui-kit?/UIDynamicBehavior", + "objc2-ui-kit?/UIFocus", + "objc2-ui-kit?/UIResponder", + "objc2-ui-kit?/UITraitCollection", + "objc2-ui-kit?/UIView", +] +HMCharacteristic = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSData", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +HMCharacteristicDefines = [] +HMCharacteristicEvent = [ + "objc2-foundation/NSError", + "objc2-foundation/NSObject", +] +HMCharacteristicMetadata = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSString", + "objc2-foundation/NSValue", +] +HMCharacteristicThresholdRangeEvent = ["objc2-foundation/NSObject"] +HMCharacteristicTypes = ["objc2-foundation/NSString"] +HMCharacteristicWriteAction = ["objc2-foundation/NSError"] +HMDefines = ["objc2-foundation/NSError"] +HMDurationEvent = [ + "objc2-foundation/NSDate", + "objc2-foundation/NSObject", +] +HMError = ["objc2-foundation/NSString"] +HMEvent = ["objc2-foundation/NSUUID"] +HMEventTrigger = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSCalendar", + "objc2-foundation/NSComparisonPredicate", + "objc2-foundation/NSError", + "objc2-foundation/NSPredicate", + "objc2-foundation/NSString", +] +HMEventTriggerActivationState = [] +HMHome = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", + "objc2-foundation/NSXPCConnection", +] +HMHomeAccessControl = [] +HMHomeManager = [ + "bitflags", + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", +] +HMLocationEvent = [ + "objc2-core-location?/CLRegion", + "objc2-foundation/NSError", + "objc2-foundation/NSObject", +] +HMNetworkConfigurationProfile = [] +HMNumberRange = ["objc2-foundation/NSValue"] +HMPresenceEvent = ["objc2-foundation/NSObject"] +HMPresenceEventDefines = [] +HMRoom = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +HMService = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", + "objc2-foundation/NSValue", +] +HMServiceGroup = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +HMServiceTypes = ["objc2-foundation/NSString"] +HMSignificantEvents = ["objc2-foundation/NSString"] +HMSignificantTimeEvent = [ + "objc2-foundation/NSCalendar", + "objc2-foundation/NSObject", + "objc2-foundation/NSString", +] +HMTimeEvent = [] +HMTimerTrigger = [ + "objc2-foundation/NSCalendar", + "objc2-foundation/NSDate", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSTimeZone", +] +HMTrigger = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSDate", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +HMUser = [ + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +HMZone = [ + "objc2-foundation/NSArray", + "objc2-foundation/NSError", + "objc2-foundation/NSString", + "objc2-foundation/NSUUID", +] +all = [ + "HMAccessControl", + "HMAccessory", + "HMAccessoryBrowser", + "HMAccessoryCategory", + "HMAccessoryCategoryTypes", + "HMAccessoryProfile", + "HMAccessorySetupManager", + "HMAccessorySetupPayload", + "HMAccessorySetupRequest", + "HMAccessorySetupResult", + "HMAccessory_Camera", + "HMAction", + "HMActionSet", + "HMAddAccessoryRequest", + "HMCalendarEvent", + "HMCameraAudioControl", + "HMCameraControl", + "HMCameraDefines", + "HMCameraProfile", + "HMCameraSettingsControl", + "HMCameraSnapshot", + "HMCameraSnapshotControl", + "HMCameraSource", + "HMCameraStream", + "HMCameraStreamControl", + "HMCameraView", + "HMCharacteristic", + "HMCharacteristicDefines", + "HMCharacteristicEvent", + "HMCharacteristicMetadata", + "HMCharacteristicThresholdRangeEvent", + "HMCharacteristicTypes", + "HMCharacteristicWriteAction", + "HMDefines", + "HMDurationEvent", + "HMError", + "HMEvent", + "HMEventTrigger", + "HMEventTriggerActivationState", + "HMHome", + "HMHomeAccessControl", + "HMHomeManager", + "HMLocationEvent", + "HMNetworkConfigurationProfile", + "HMNumberRange", + "HMPresenceEvent", + "HMPresenceEventDefines", + "HMRoom", + "HMService", + "HMServiceGroup", + "HMServiceTypes", + "HMSignificantEvents", + "HMSignificantTimeEvent", + "HMTimeEvent", + "HMTimerTrigger", + "HMTrigger", + "HMUser", + "HMZone", + "bitflags", + "block2", + "objc2-core-foundation", + "objc2-core-location", + "objc2-quartz-core", + "objc2-ui-kit", +] diff --git a/framework-crates/objc2-home-kit/README.md b/framework-crates/objc2-home-kit/README.md new file mode 100644 index 000000000..619ea54b9 --- /dev/null +++ b/framework-crates/objc2-home-kit/README.md @@ -0,0 +1,14 @@ +# `objc2-home-kit` + +[![Latest version](https://badgen.net/crates/v/objc2-home-kit)](https://crates.io/crates/objc2-home-kit) +[![License](https://badgen.net/badge/license/MIT/blue)](../LICENSE.txt) +[![Documentation](https://docs.rs/objc2-home-kit/badge.svg)](https://docs.rs/objc2-home-kit/) +[![CI](https://github.com/madsmtm/objc2/actions/workflows/ci.yml/badge.svg)](https://github.com/madsmtm/objc2/actions/workflows/ci.yml) + +Rust bindings to Apple's framework HomeKit. + +This README is kept intentionally small to consolidate the documentation, see +[the Rust docs](https://docs.rs/objc2-home-kit/) for more details on this crate. + +This crate is part of the [`objc2` project](https://github.com/madsmtm/objc2), +see that for related crates. diff --git a/framework-crates/objc2-home-kit/src/generated b/framework-crates/objc2-home-kit/src/generated new file mode 120000 index 000000000..284568845 --- /dev/null +++ b/framework-crates/objc2-home-kit/src/generated @@ -0,0 +1 @@ +../../../generated/HomeKit \ No newline at end of file diff --git a/framework-crates/objc2-home-kit/src/lib.rs b/framework-crates/objc2-home-kit/src/lib.rs new file mode 100644 index 000000000..b7697a988 --- /dev/null +++ b/framework-crates/objc2-home-kit/src/lib.rs @@ -0,0 +1,20 @@ +//! # Bindings to the `HomeKit` framework +//! +//! See [Apple's docs][apple-doc] and [the general docs on framework crates][framework-crates] for more information. +//! +//! [apple-doc]: https://developer.apple.com/documentation/homekit/ +//! [framework-crates]: https://docs.rs/objc2/latest/objc2/topics/about_generated/index.html +#![no_std] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] +// Update in Cargo.toml as well. +#![doc(html_root_url = "https://docs.rs/objc2-home-kit/0.2.2")] + +#[cfg(feature = "alloc")] +extern crate alloc; + +#[cfg(feature = "std")] +extern crate std; + +mod generated; +#[allow(unused_imports, unreachable_pub)] +pub use self::generated::*; diff --git a/framework-crates/objc2-home-kit/translation-config.toml b/framework-crates/objc2-home-kit/translation-config.toml new file mode 100644 index 000000000..614ce53f5 --- /dev/null +++ b/framework-crates/objc2-home-kit/translation-config.toml @@ -0,0 +1,31 @@ +framework = "HomeKit" +crate = "objc2-home-kit" +required-crates = ["objc2", "objc2-foundation"] +maccatalyst = "14.0" +ios = "8.0" +tvos = "10.0" +watchos = "2.0" +visionos = "1.0" + +external.CLRegion.module = "CoreLocation.CLRegion" +external.MTRSetupPayload.module = "Matter.MTRSetupPayload" + +# Set counterparts +class.HMCalendarEvent.counterpart = "MutableSubclass(HomeKit.HMCalendarEvent.HMMutableCalendarEvent)" +class.HMMutableCalendarEvent.counterpart = "ImmutableSuperclass(HomeKit.HMCalendarEvent.HMCalendarEvent)" +class.HMCharacteristicEvent.counterpart = "MutableSubclass(HomeKit.HMCharacteristicEvent.HMMutableCharacteristicEvent)" +class.HMMutableCharacteristicEvent.counterpart = "ImmutableSuperclass(HomeKit.HMCharacteristicEvent.HMCharacteristicEvent)" +class.HMCharacteristicThresholdRangeEvent.counterpart = "MutableSubclass(HomeKit.HMCharacteristicThresholdRangeEvent.HMMutableCharacteristicThresholdRangeEvent)" +class.HMMutableCharacteristicThresholdRangeEvent.counterpart = "ImmutableSuperclass(HomeKit.HMCharacteristicThresholdRangeEvent.HMCharacteristicThresholdRangeEvent)" +class.HMLocationEvent.counterpart = "MutableSubclass(HomeKit.HMLocationEvent.HMMutableLocationEvent)" +class.HMMutableLocationEvent.counterpart = "ImmutableSuperclass(HomeKit.HMLocationEvent.HMLocationEvent)" +class.HMPresenceEvent.counterpart = "MutableSubclass(HomeKit.HMPresenceEvent.HMMutablePresenceEvent)" +class.HMMutablePresenceEvent.counterpart = "ImmutableSuperclass(HomeKit.HMPresenceEvent.HMPresenceEvent)" +class.HMSignificantTimeEvent.counterpart = "MutableSubclass(HomeKit.HMSignificantTimeEvent.HMMutableSignificantTimeEvent)" +class.HMMutableSignificantTimeEvent.counterpart = "ImmutableSuperclass(HomeKit.HMSignificantTimeEvent.HMSignificantTimeEvent)" +class.HMDurationEvent.counterpart = "MutableSubclass(HomeKit.HMDurationEvent.HMMutableDurationEvent)" +class.HMMutableDurationEvent.counterpart = "ImmutableSuperclass(HomeKit.HMDurationEvent.HMDurationEvent)" + +# Needs MTRSetupPayload from the Matter framework. +class.HMAccessorySetupRequest.methods.matterPayload.skipped = true +class.HMAccessorySetupRequest.methods."setMatterPayload:".skipped = true diff --git a/generated b/generated index 5b7c346ad..fbed57406 160000 --- a/generated +++ b/generated @@ -1 +1 @@ -Subproject commit 5b7c346ad9eddd783d017240d418a4c7a12a9ad8 +Subproject commit fbed57406fef8470eb396a4e6d84b257c2dcca77