diff --git a/src/mediaaccessibility.cs b/src/mediaaccessibility.cs index 2e2974ec1988..8a750aaf8dce 100644 --- a/src/mediaaccessibility.cs +++ b/src/mediaaccessibility.cs @@ -71,4 +71,34 @@ interface MAFlashingLightsProcessor { [Export ("processSurface:outSurface:timestamp:options:")] MAFlashingLightsProcessorResult Process (Surface inSurface, Surface outSurface, double timestamp, [NullAllowed] NSDictionary options); } + + delegate void MAMusicHapticTrackAvailabilityCallback (bool musicHapticsAvailable); + delegate void MAMusicHapticTrackStatusObserver (string internationalStandardRecordingCode, bool musicHapticsActive); + + [Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [BaseType (typeof (NSObject))] + [DisableDefaultCtor] + interface MAMusicHapticsManager { + [Static] + [Export ("sharedManager")] + MAMusicHapticsManager SharedManager { get; } + + [Export ("isActive")] + bool IsActive { get; } + + [Async] + [Export ("checkHapticTrackAvailabilityForMediaMatchingCode:completionHandler:")] + void CheckHapticTrackAvailability (string internationalStandardRecordingCode, [NullAllowed] MAMusicHapticTrackAvailabilityCallback completionHandler); + + [Export ("addStatusObserver:")] + [return: NullAllowed] + INSCopying AddStatusObserver (MAMusicHapticTrackStatusObserver statusHandler); + + [Export ("removeStatusObserver:")] + void RemoveStatusObserver (INSCopying registrationToken); + + [Notification] + [Field ("MAMusicHapticsManagerActiveStatusDidChangeNotification")] + NSString ActiveStatusDidChangeNotification { get; } + } } diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index af9bc49c35a3..27172783027c 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -38912,6 +38912,10 @@ M:MediaAccessibility.MAFlashingLightsProcessor.Process(IOSurface.IOSurface,IOSur M:MediaAccessibility.MAImageCaptioning.GetCaption(Foundation.NSUrl,Foundation.NSError@) M:MediaAccessibility.MAImageCaptioning.GetMetadataTagPath M:MediaAccessibility.MAImageCaptioning.SetCaption(Foundation.NSUrl,System.String,Foundation.NSError@) +M:MediaAccessibility.MAMusicHapticsManager.AddStatusObserver(MediaAccessibility.MAMusicHapticTrackStatusObserver) +M:MediaAccessibility.MAMusicHapticsManager.CheckHapticTrackAvailability(System.String,MediaAccessibility.MAMusicHapticTrackAvailabilityCallback) +M:MediaAccessibility.MAMusicHapticsManager.CheckHapticTrackAvailabilityAsync(System.String) +M:MediaAccessibility.MAMusicHapticsManager.RemoveStatusObserver(Foundation.INSCopying) M:MediaAccessibility.MAVideoAccommodations.IsDimFlashingLightsEnabled M:MediaLibrary.MLMediaGroup.Dispose(System.Boolean) M:MediaLibrary.MLMediaLibrary.#ctor(Foundation.NSDictionary{Foundation.NSString,Foundation.NSObject}) @@ -67883,6 +67887,9 @@ P:MediaAccessibility.MAFlashingLightsProcessorResult.SurfaceProcessed P:MediaAccessibility.MAMediaCharacteristic.DescribesMusicAndSoundForAccessibility P:MediaAccessibility.MAMediaCharacteristic.DescribesVideoForAccessibility P:MediaAccessibility.MAMediaCharacteristic.TranscribesSpokenDialogForAccessibility +P:MediaAccessibility.MAMusicHapticsManager.ActiveStatusDidChangeNotification +P:MediaAccessibility.MAMusicHapticsManager.IsActive +P:MediaAccessibility.MAMusicHapticsManager.SharedManager P:MediaAccessibility.MAVideoAccommodations.DimFlashingLightsChangedNotification P:MediaLibrary.MediaLibraryTypeIdentifierKey.ApertureAllPhotosTypeIdentifier P:MediaLibrary.MediaLibraryTypeIdentifierKey.ApertureAllProjectsTypeIdentifier @@ -80182,6 +80189,9 @@ T:MediaAccessibility.MAFlashingLightsProcessor T:MediaAccessibility.MAFlashingLightsProcessorResult T:MediaAccessibility.MAImageCaptioning T:MediaAccessibility.MAMediaCharacteristic +T:MediaAccessibility.MAMusicHapticsManager +T:MediaAccessibility.MAMusicHapticTrackAvailabilityCallback +T:MediaAccessibility.MAMusicHapticTrackStatusObserver T:MediaAccessibility.MAVideoAccommodations T:MediaLibrary.MediaLibraryTypeIdentifierKey T:MediaLibrary.MLMediaGroup diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-MediaAccessibility.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-MediaAccessibility.todo deleted file mode 100644 index 5c734ac73e7c..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-MediaAccessibility.todo +++ /dev/null @@ -1,7 +0,0 @@ -!missing-field! MAMusicHapticsManagerActiveStatusDidChangeNotification not bound -!missing-selector! +MAMusicHapticsManager::sharedManager not bound -!missing-selector! MAMusicHapticsManager::addStatusObserver: not bound -!missing-selector! MAMusicHapticsManager::checkHapticTrackAvailabilityForMediaMatchingCode:completionHandler: not bound -!missing-selector! MAMusicHapticsManager::isActive not bound -!missing-selector! MAMusicHapticsManager::removeStatusObserver: not bound -!missing-type! MAMusicHapticsManager not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-MediaAccessibility.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-MediaAccessibility.todo deleted file mode 100644 index 5c734ac73e7c..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-MediaAccessibility.todo +++ /dev/null @@ -1,7 +0,0 @@ -!missing-field! MAMusicHapticsManagerActiveStatusDidChangeNotification not bound -!missing-selector! +MAMusicHapticsManager::sharedManager not bound -!missing-selector! MAMusicHapticsManager::addStatusObserver: not bound -!missing-selector! MAMusicHapticsManager::checkHapticTrackAvailabilityForMediaMatchingCode:completionHandler: not bound -!missing-selector! MAMusicHapticsManager::isActive not bound -!missing-selector! MAMusicHapticsManager::removeStatusObserver: not bound -!missing-type! MAMusicHapticsManager not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MediaAccessibility.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MediaAccessibility.todo deleted file mode 100644 index 5c734ac73e7c..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-MediaAccessibility.todo +++ /dev/null @@ -1,7 +0,0 @@ -!missing-field! MAMusicHapticsManagerActiveStatusDidChangeNotification not bound -!missing-selector! +MAMusicHapticsManager::sharedManager not bound -!missing-selector! MAMusicHapticsManager::addStatusObserver: not bound -!missing-selector! MAMusicHapticsManager::checkHapticTrackAvailabilityForMediaMatchingCode:completionHandler: not bound -!missing-selector! MAMusicHapticsManager::isActive not bound -!missing-selector! MAMusicHapticsManager::removeStatusObserver: not bound -!missing-type! MAMusicHapticsManager not bound diff --git a/tests/xtro-sharpie/iOS-MediaAccessibility.todo b/tests/xtro-sharpie/iOS-MediaAccessibility.todo deleted file mode 100644 index 5c734ac73e7c..000000000000 --- a/tests/xtro-sharpie/iOS-MediaAccessibility.todo +++ /dev/null @@ -1,7 +0,0 @@ -!missing-field! MAMusicHapticsManagerActiveStatusDidChangeNotification not bound -!missing-selector! +MAMusicHapticsManager::sharedManager not bound -!missing-selector! MAMusicHapticsManager::addStatusObserver: not bound -!missing-selector! MAMusicHapticsManager::checkHapticTrackAvailabilityForMediaMatchingCode:completionHandler: not bound -!missing-selector! MAMusicHapticsManager::isActive not bound -!missing-selector! MAMusicHapticsManager::removeStatusObserver: not bound -!missing-type! MAMusicHapticsManager not bound diff --git a/tests/xtro-sharpie/macOS-MediaAccessibility.todo b/tests/xtro-sharpie/macOS-MediaAccessibility.todo deleted file mode 100644 index 5c734ac73e7c..000000000000 --- a/tests/xtro-sharpie/macOS-MediaAccessibility.todo +++ /dev/null @@ -1,7 +0,0 @@ -!missing-field! MAMusicHapticsManagerActiveStatusDidChangeNotification not bound -!missing-selector! +MAMusicHapticsManager::sharedManager not bound -!missing-selector! MAMusicHapticsManager::addStatusObserver: not bound -!missing-selector! MAMusicHapticsManager::checkHapticTrackAvailabilityForMediaMatchingCode:completionHandler: not bound -!missing-selector! MAMusicHapticsManager::isActive not bound -!missing-selector! MAMusicHapticsManager::removeStatusObserver: not bound -!missing-type! MAMusicHapticsManager not bound diff --git a/tests/xtro-sharpie/tvOS-MediaAccessibility.todo b/tests/xtro-sharpie/tvOS-MediaAccessibility.todo deleted file mode 100644 index 5c734ac73e7c..000000000000 --- a/tests/xtro-sharpie/tvOS-MediaAccessibility.todo +++ /dev/null @@ -1,7 +0,0 @@ -!missing-field! MAMusicHapticsManagerActiveStatusDidChangeNotification not bound -!missing-selector! +MAMusicHapticsManager::sharedManager not bound -!missing-selector! MAMusicHapticsManager::addStatusObserver: not bound -!missing-selector! MAMusicHapticsManager::checkHapticTrackAvailabilityForMediaMatchingCode:completionHandler: not bound -!missing-selector! MAMusicHapticsManager::isActive not bound -!missing-selector! MAMusicHapticsManager::removeStatusObserver: not bound -!missing-type! MAMusicHapticsManager not bound