diff --git a/src/homekit.cs b/src/homekit.cs index ffd406b58db..585030b6867 100644 --- a/src/homekit.cs +++ b/src/homekit.cs @@ -94,8 +94,17 @@ partial interface HMHomeManager { [MacCatalyst (14, 0)] [Export ("authorizationStatus")] HMHomeManagerAuthorizationStatus AuthorizationStatus { get; } + + // From the Vendor (HMHomeManager) category + // HAP=HomeKit Accessory Protocol + [Async] + [TV (26, 1), NoMac, iOS (26, 1), MacCatalyst (26, 1)] + [Export ("findVendorAccessoryWithHAPPublicKey:completionHandler:")] + void FindVendorAccessory (NSData hapPublicKey, HMHomeManagerFindVendorAccessoryCallback completion); } + delegate void HMHomeManagerFindVendorAccessoryCallback ([NullAllowed] HMAccessory accessory, [NullAllowed] NSError error); + interface IHMHomeManagerDelegate { } /// Delegate object for objects, provides methods that can be overridden to react to s being added, removed, or set as the primary home. @@ -290,6 +299,30 @@ partial interface HMAccessory { [MacCatalyst (14, 0)] [Export ("supportsIdentify")] bool SupportsIdentify { get; } + + // From an unnamed category (@interface HMAccessory ()) + [TV (26, 1), NoMac, iOS (26, 1), MacCatalyst (26, 1)] + [Export ("vendorAccessory")] + bool VendorAccessory { [Bind ("isVendorAccessory")] get; } + + // From an unnamed category (@interface HMAccessory ()) + // HAP=HomeKit Accessory Protocol + // No documention on what kind of NSNumber we're dealing with, so not binding using a better type. + [TV (26, 1), NoMac, iOS (26, 1), MacCatalyst (26, 1)] + [Export ("HAPInstanceID", ArgumentSemantic.Copy)] + [NullAllowed] + NSNumber HapInstanceId { get; } + + /// Headers state this property is available in iOS 10+, but I don't believe that + [TV (26, 1), NoMac, iOS (26, 1), MacCatalyst (26, 1)] + [Export ("home", ArgumentSemantic.Weak)] + [NullAllowed] + HMHome Home { get; } + + /// Headers state this property is available in iOS 13+, but I don't believe that + [TV (26, 1), NoMac, iOS (26, 1), MacCatalyst (26, 1)] + [Export ("bridgedAccessories", ArgumentSemantic.Copy)] + HMAccessory [] BridgedAccessories { get; } } interface IHMAccessoryDelegate { } diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index 8e19a751744..2fcdc720721 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -12434,6 +12434,8 @@ M:HomeKit.HMHomeManager.add_DidUpdateAuthorizationStatus(System.EventHandler{Hom M:HomeKit.HMHomeManager.add_DidUpdateHomes(System.EventHandler) M:HomeKit.HMHomeManager.add_DidUpdatePrimaryHome(System.EventHandler) M:HomeKit.HMHomeManager.Dispose(System.Boolean) +M:HomeKit.HMHomeManager.FindVendorAccessory(Foundation.NSData,HomeKit.HMHomeManagerFindVendorAccessoryCallback) +M:HomeKit.HMHomeManager.FindVendorAccessoryAsync(Foundation.NSData) M:HomeKit.HMHomeManager.remove_DidAddHome(System.EventHandler{HomeKit.HMHomeManagerEventArgs}) M:HomeKit.HMHomeManager.remove_DidReceiveAddAccessoryRequest(System.EventHandler{HomeKit.HMHomeManagerAddAccessoryRequestEventArgs}) M:HomeKit.HMHomeManager.remove_DidRemoveHome(System.EventHandler{HomeKit.HMHomeManagerEventArgs}) @@ -21405,6 +21407,8 @@ P:HealthKit.HKLiveWorkoutBuilder.Delegate P:HealthKit.HKMedicationConcept.GeneralForm P:HealthKit.HKMetadata.AppleFitnessPlusCatalogIdentifier P:HealthKit.HKWorkoutSession.Delegate +P:HomeKit.HMAccessory.HapInstanceId +P:HomeKit.HMAccessory.VendorAccessory P:HomeKit.HMAccessoryBrowserEventArgs.Accessory P:HomeKit.HMAccessoryFirmwareVersionEventArgs.FirmwareVersion P:HomeKit.HMAccessoryProfileEventArgs.Profile @@ -26819,6 +26823,7 @@ T:HomeKit.HMCharacteristicValueVolumeSelector T:HomeKit.HMCharacteristicValueWiFiSatelliteStatus T:HomeKit.HMFetchRoomHandler T:HomeKit.HMHomeManagerAuthorizationStatus +T:HomeKit.HMHomeManagerFindVendorAccessoryCallback T:IdentityLookup.ILMessageFilterCapabilitiesQueryRequest T:IdentityLookup.ILMessageFilterCapabilitiesQueryResponse T:IdentityLookup.ILMessageFilterError diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-HomeKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-HomeKit.todo deleted file mode 100644 index 79fb7bce3ed..00000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-HomeKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-selector! HMAccessory::bridgedAccessories not bound -!missing-selector! HMAccessory::home not bound -!missing-selector! HMAccessoryHMAccessory::HAPInstanceID not bound -!missing-selector! HMAccessoryHMAccessory::isVendorAccessory not bound -!missing-selector! HMHomeManager::findHMHomeManagerAccessoryWithHAPPublicKey:completionHandler: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-HomeKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-HomeKit.todo deleted file mode 100644 index 79fb7bce3ed..00000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-HomeKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-selector! HMAccessory::bridgedAccessories not bound -!missing-selector! HMAccessory::home not bound -!missing-selector! HMAccessoryHMAccessory::HAPInstanceID not bound -!missing-selector! HMAccessoryHMAccessory::isVendorAccessory not bound -!missing-selector! HMHomeManager::findHMHomeManagerAccessoryWithHAPPublicKey:completionHandler: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-HomeKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-HomeKit.todo deleted file mode 100644 index 79fb7bce3ed..00000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-HomeKit.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-selector! HMAccessory::bridgedAccessories not bound -!missing-selector! HMAccessory::home not bound -!missing-selector! HMAccessoryHMAccessory::HAPInstanceID not bound -!missing-selector! HMAccessoryHMAccessory::isVendorAccessory not bound -!missing-selector! HMHomeManager::findHMHomeManagerAccessoryWithHAPPublicKey:completionHandler: not bound