From d1ce9ffd0cd7b6d0b95a1d050de5fb334ca1b81b Mon Sep 17 00:00:00 2001 From: Rachel Kang Date: Fri, 17 Sep 2021 17:10:37 -0400 Subject: [PATCH 1/4] "[Intents] Update bindings for Xcode 13.0 betas 1 through 5" --- src/Intents/INPerson.cs | 67 +++ src/foundation.cs | 2 +- src/frameworks.sources | 1 + src/intents.cs | 491 +++++++++++++++----- tests/introspection/ApiSelectorTest.cs | 3 + tests/xtro-sharpie/MacCatalyst-Intents.todo | 37 -- tests/xtro-sharpie/iOS-Intents.todo | 88 ---- tests/xtro-sharpie/macOS-Intents.ignore | 3 + tests/xtro-sharpie/macOS-Intents.todo | 91 ---- tests/xtro-sharpie/tvOS-Intents.todo | 4 - tests/xtro-sharpie/watchOS-Intents.todo | 67 --- 11 files changed, 446 insertions(+), 408 deletions(-) create mode 100644 src/Intents/INPerson.cs delete mode 100644 tests/xtro-sharpie/MacCatalyst-Intents.todo delete mode 100644 tests/xtro-sharpie/iOS-Intents.todo delete mode 100644 tests/xtro-sharpie/macOS-Intents.todo delete mode 100644 tests/xtro-sharpie/tvOS-Intents.todo delete mode 100644 tests/xtro-sharpie/watchOS-Intents.todo diff --git a/src/Intents/INPerson.cs b/src/Intents/INPerson.cs new file mode 100644 index 000000000000..5fad0be5cc31 --- /dev/null +++ b/src/Intents/INPerson.cs @@ -0,0 +1,67 @@ +using System; +using CoreGraphics; +using Foundation; +using ObjCRuntime; +using System.Runtime.Versioning; + +#nullable enable + +namespace Intents +{ + +#if !TVOS + public partial class INPerson + { + +#if !NET + [Introduced (PlatformName.iOS, 15,0)] + [Introduced (PlatformName.MacOSX, 12,0)] + [Introduced (PlatformName.WatchOS, 8,0)] +#else + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("macos12.0")] +#endif //!NET + public enum INPersonType { + Me = 0, + ContactSuggestion = 1, + } + +#if !NET + [Introduced (PlatformName.iOS, 15,0)] + [Introduced (PlatformName.MacOSX, 12,0)] + [Introduced (PlatformName.WatchOS, 8,0)] +#else + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("macos12.0")] +#endif //!NET + public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameComponents, string? displayName, INImage? image, string? contactIdentifier, string? customIdentifier, bool isMe, INPersonSuggestionType suggestionType) : + this (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType, INPersonType.Me) + { + } + +#if !NET + [Introduced (PlatformName.iOS, 15,0)] + [Introduced (PlatformName.MacOSX, 12,0)] + [Introduced (PlatformName.WatchOS, 8,0)] +#else + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("macos12.0")] +#endif //!NET + public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameComponents, string? displayName, INImage? image, string? contactIdentifier, string? customIdentifier, bool isMe, INPersonSuggestionType suggestionType, INPersonType personType) : base (NSObjectFlag.Empty) + { + switch (personType) { + case INPersonType.Me: + InitializeHandle (InitWithMe (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType), + "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:"); + break; + case INPersonType.ContactSuggestion: + InitializeHandle (InitWithContactSuggestion (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType), + "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:"); + break; + default: + throw new ArgumentException (nameof (personType)); + } + } + } +#endif // !TVOS +} diff --git a/src/foundation.cs b/src/foundation.cs index cac91d1600a0..4518599ce784 100644 --- a/src/foundation.cs +++ b/src/foundation.cs @@ -5420,7 +5420,7 @@ partial interface NSUserActivity // From NSUserActivity (IntentsAdditions) - [Watch (5,0), NoTV, NoMac, iOS (12,0)] + [Watch (5,0), NoTV, Mac (12,0), iOS (12,0)] [NullAllowed, Export ("suggestedInvocationPhrase")] string SuggestedInvocationPhrase { // This _simply_ ensure that the Intents namespace (via the enum) will be present which, diff --git a/src/frameworks.sources b/src/frameworks.sources index 9c5b2727cdd0..f8e4de9f8b42 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -999,6 +999,7 @@ INTENTS_SOURCES = \ Intents/INMessageAttributeOptionsResolutionResult.cs \ Intents/INMessageAttributeResolutionResult.cs \ Intents/INPaymentStatusResolutionResult.cs \ + Intents/INPerson.cs \ Intents/INPriceRange.cs \ Intents/INRadioTypeResolutionResult.cs \ Intents/INRelativeReferenceResolutionResult.cs \ diff --git a/src/intents.cs b/src/intents.cs index 3c786e293270..63942da22838 100644 --- a/src/intents.cs +++ b/src/intents.cs @@ -13,6 +13,7 @@ using Foundation; using ObjCRuntime; using CoreLocation; +using UserNotifications; #if TVOS using CNPostalAddress = Foundation.NSObject; @@ -53,11 +54,7 @@ public enum INBookRestaurantReservationIntentCode : long { FailureRequiringAppLaunchServiceTemporarilyUnavailable } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -68,8 +65,8 @@ public enum INCallCapabilityOptions : ulong { VideoCall = (1 << 1) } + [Mac (12, 0)] // used in interface with new Mac (12,0) avilability [iOS (10, 0)] - [Mac (10, 12, 0, PlatformArchitecture.Arch64)] [Watch (3, 2)] [Native] public enum INCallRecordType : long { @@ -77,15 +74,15 @@ public enum INCallRecordType : long { Outgoing, Missed, Received, - [Watch (4,0), Mac (10,13), iOS (11,0)] + [Watch (4,0), iOS (11,0)] Latest, - [Watch (4,0), Mac (10,13), iOS (11,0)] + [Watch (4,0), iOS (11,0)] Voicemail, - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] Ringing, - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] InProgress, - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] OnHold, } @@ -110,6 +107,7 @@ public enum INCancelWorkoutIntentResponseCode : long { Success, } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-native-enum! INCarAirCirculationMode bound [NoTV] @@ -120,6 +118,7 @@ public enum INCarAirCirculationMode : long { RecirculateAir } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-native-enum! INCarAudioSource bound [NoTV] @@ -137,6 +136,7 @@ public enum INCarAudioSource : long { HardDrive } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-native-enum! INCarDefroster bound [NoTV] @@ -148,6 +148,7 @@ public enum INCarDefroster : long { All, } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-native-enum! INCarSeat bound [NoTV] @@ -438,6 +439,8 @@ public enum INPaymentStatus : long { Unpaid } + [iOS (10,0)] + [Watch (3,2)] [Mac (11,0), NoTV] [Native] public enum INPersonSuggestionType : long { @@ -447,6 +450,8 @@ public enum INPersonSuggestionType : long { InstantMessageAddress, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-native-enum! INPhotoAttributeOptions bound @@ -490,6 +495,7 @@ public enum INPhotoAttributeOptions : ulong { LongExposurePhoto = (1uL << 28), } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-native-enum! INRadioType bound [NoTV] @@ -503,6 +509,7 @@ public enum INRadioType : long { Dab } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [NoTV] @@ -513,6 +520,7 @@ public enum INRelativeReference : long { Previous } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [NoTV] @@ -615,6 +623,7 @@ public enum INRidePhase : long { Pickup } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -634,6 +643,8 @@ public enum INSaveProfileInCarIntentResponseCode : long { #elif MONOMAC [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] #endif + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -674,6 +685,8 @@ public enum INSearchForMessagesIntentResponseCode : long { FailureMessageTooManyResults, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -690,11 +703,7 @@ public enum INSearchForPhotosIntentResponseCode : long { FailureAppConfigurationRequired, } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -735,6 +744,7 @@ public enum INSendPaymentIntentResponseCode : long { FailureTermsAndConditionsAcceptanceRequired, } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -749,6 +759,7 @@ public enum INSetAudioSourceInCarIntentResponseCode : long { FailureRequiringAppLaunch } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -763,6 +774,7 @@ public enum INSetClimateSettingsInCarIntentResponseCode : long { FailureRequiringAppLaunch } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -793,6 +805,7 @@ public enum INSetMessageAttributeIntentResponseCode : long { FailureMessageAttributeNotSet } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -807,6 +820,7 @@ public enum INSetProfileInCarIntentResponseCode : long { FailureRequiringAppLaunch } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -822,6 +836,7 @@ public enum INSetRadioStationIntentResponseCode : long { FailureNotSubscribed } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -876,6 +891,8 @@ public enum INStartAudioCallIntentResponseCode : long { FailureNoValidNumber, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -1064,6 +1081,8 @@ public enum INAmountType : long { StatementBalance, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -1134,6 +1153,8 @@ public enum INGetCarPowerLevelStatusIntentResponseCode : long { FailureRequiringAppLaunch, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -1150,6 +1171,8 @@ public enum INPayBillIntentResponseCode : long { FailureInsufficientFunds, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -1191,6 +1214,8 @@ public enum INAddTasksIntentResponseCode : long { FailureRequiringAppLaunch, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Native] public enum INAppendToNoteIntentResponseCode : long { @@ -1212,11 +1237,7 @@ public enum INBalanceType : long { Miles, } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [Watch (3,2), NoTV, iOS (10,0)] [Native] public enum INCallCapability : long { @@ -1225,11 +1246,7 @@ public enum INCallCapability : long { VideoCall, } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [Watch (4,0), NoTV, iOS (11,0)] [Native] public enum INCallDestinationType : long { @@ -1238,15 +1255,11 @@ public enum INCallDestinationType : long { Emergency, Voicemail, Redial, - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] CallBack, } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12, 0)] [Watch (3,2), NoTV, iOS (10,0)] [Native] [Flags] @@ -1256,11 +1269,11 @@ public enum INCallRecordTypeOptions : ulong { Received = (1 << 2), Latest = (1 << 3), Voicemail = (1 << 4), - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] Ringing = (1 << 5), - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] InProgress = (1 << 6), - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] OnHold = (1 << 7), } @@ -1304,6 +1317,8 @@ public enum INDateSearchType : long { ByCreatedDate, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Native] public enum INGetVisualCodeIntentResponseCode : long { @@ -1446,11 +1461,7 @@ public enum INSearchForNotebookItemsIntentResponseCode : long { FailureRequiringAppLaunch, } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [Watch (4,0), NoTV, iOS (11,0)] [Native] public enum INSendMessageRecipientUnsupportedReason : long { @@ -1532,6 +1543,8 @@ public enum INTaskType : long { Completable, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Native] public enum INTransferMoneyIntentResponseCode : long { @@ -1545,6 +1558,8 @@ public enum INTransferMoneyIntentResponseCode : long { FailureInsufficientFunds, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Native] public enum INVisualCodeType : long { @@ -1692,7 +1707,7 @@ public enum INAddTasksTemporalEventTriggerUnsupportedReason : long { InvalidRecurrence, } - [Watch (6,0), NoTV, NoMac, iOS (13,0)] + [Watch (6,0), NoTV, Mac (12,0), iOS (13,0)] [Native] public enum INCallAudioRoute : long { Unknown = 0, @@ -1700,6 +1715,8 @@ public enum INCallAudioRoute : long { BluetoothAudioRoute, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [Native] public enum INDeleteTasksIntentResponseCode : long { @@ -1711,12 +1728,16 @@ public enum INDeleteTasksIntentResponseCode : long { FailureRequiringAppLaunch, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [Native] public enum INDeleteTasksTaskListUnsupportedReason : long { NoTaskListFound = 1, } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [Native] public enum INDeleteTasksTaskUnsupportedReason : long { @@ -2006,7 +2027,7 @@ public enum INListCarsIntentResponseCode : long { FailureRequiringAppLaunch, } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, Mac (12,0), iOS (14,0)] [Native] public enum INOutgoingMessageType : long { Unknown = 0, @@ -2027,7 +2048,7 @@ public enum INShortcutAvailabilityOptions : ulong { YogaAndStretching = (1uL << 6), } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, Mac (12,0), iOS (14,0)] [Native] public enum INStartCallCallRecordToCallBackUnsupportedReason : long { NoMatchingCall = 1, @@ -2510,11 +2531,7 @@ interface INBooleanResolutionResult { INBooleanResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -2636,6 +2653,7 @@ interface INCancelWorkoutIntentResponse { INCancelWorkoutIntentResponseCode Code { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-type! INCarAirCirculationModeResolutionResult bound [NoWatch] @@ -2698,6 +2716,7 @@ interface INCarAirCirculationModeResolutionResult { INCarAirCirculationModeResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-type! INCarAudioSourceResolutionResult bound [BaseType (typeof (INIntentResolutionResult))] @@ -2761,6 +2780,7 @@ interface INCarAudioSourceResolutionResult { INCarAudioSourceResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-type! INCarDefrosterResolutionResult bound [BaseType (typeof (INIntentResolutionResult))] @@ -2824,6 +2844,7 @@ interface INCarDefrosterResolutionResult { INCarDefrosterResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-type! INCarSeatResolutionResult bound [BaseType (typeof (INIntentResolutionResult))] @@ -2887,9 +2908,9 @@ interface INCarSeatResolutionResult { INCarSeatResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Mac (12, 0)] [iOS (10, 0)] [Watch (3, 2)] - [Unavailable (PlatformName.MacOSX)] [NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -3832,6 +3853,10 @@ interface INIntent : NSCopying, NSSecureCoding { [Export ("shortcutAvailability", ArgumentSemantic.Assign)] INShortcutAvailabilityOptions ShortcutAvailability { get; set; } + [Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [NullAllowed, Export ("donationMetadata", ArgumentSemantic.Copy)] + INIntentDonationMetadata DonationMetadata { get; set; } + [Watch (5,0), Mac (10,14), iOS (12,0)] [Export ("setImage:forParameterNamed:")] void SetImage ([NullAllowed] INImage image, string parameterName); @@ -3847,6 +3872,13 @@ interface INIntent : NSCopying, NSSecureCoding { INImage GetKeyImage (); } + [Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst(15,0)] + [BaseType (typeof (NSObject))] + [DisableDefaultCtor] + interface INIntentDonationMetadata : NSCopying, NSSecureCoding + { + } + interface INIntentResolutionResult : INIntentResolutionResult { } [iOS (10, 0)] @@ -4375,6 +4407,16 @@ interface INPerson : NSCopying, NSSecureCoding, INSpeakable { [DesignatedInitializer] IntPtr Constructor (INPersonHandle personHandle, [NullAllowed] NSPersonNameComponents nameComponents, [NullAllowed] string displayName, [NullAllowed] INImage image, [NullAllowed] string contactIdentifier, [NullAllowed] string customIdentifier, bool isMe); + [Internal] + [Watch (8,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:")] + IntPtr InitWithMe (INPersonHandle personHandle, [NullAllowed] NSPersonNameComponents nameComponents, [NullAllowed] string displayName, [NullAllowed] INImage image, [NullAllowed] string contactIdentifier, [NullAllowed] string customIdentifier, bool isMe, INPersonSuggestionType suggestionType); + + [Internal] + [Watch (8,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:")] + IntPtr InitWithContactSuggestion (INPersonHandle personHandle, [NullAllowed] NSPersonNameComponents nameComponents, [NullAllowed] string displayName, [NullAllowed] INImage image, [NullAllowed] string contactIdentifier, [NullAllowed] string customIdentifier, bool isContactSuggestion, INPersonSuggestionType suggestionType); + [NullAllowed, Export ("personHandle", ArgumentSemantic.Copy)] INPersonHandle PersonHandle { get; } @@ -4420,6 +4462,10 @@ interface INPerson : NSCopying, NSSecureCoding, INSpeakable { [Mac (10,13), iOS (11,0), Watch (4,0)] [Export ("isMe")] bool IsMe { get; } + + [Watch (8,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Export ("contactSuggestion")] + bool ContactSuggestion { [Bind ("isContactSuggestion")] get; } } [iOS (10, 0)] @@ -4622,6 +4668,7 @@ interface INPriceRange : NSCopying, NSSecureCoding { string CurrencyCode { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] // xtro mac !unknown-type! INRadioTypeResolutionResult bound [NoWatch] @@ -4685,6 +4732,7 @@ interface INRadioTypeResolutionResult { INRadioTypeResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [NoWatch] @@ -4748,6 +4796,7 @@ interface INRelativeReferenceResolutionResult { INRelativeReferenceResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [NoWatch] @@ -5572,6 +5621,7 @@ interface INRideVehicle : NSCopying, NSSecureCoding { INImage MapAnnotationImage { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -5599,6 +5649,7 @@ interface INSaveProfileInCarIntent { string ProfileName { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -5627,6 +5678,7 @@ interface INSaveProfileInCarIntentHandling { void ResolveProfileName (INSaveProfileInCarIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -5648,6 +5700,8 @@ interface INSaveProfileInCarIntentResponse { #elif MONOMAC [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] #endif + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -5699,6 +5753,8 @@ interface INSearchCallHistoryIntent { #elif MONOMAC [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] #endif + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -5744,6 +5800,8 @@ interface INSearchCallHistoryIntentHandling { #elif MONOMAC [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] #endif + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -5927,6 +5985,8 @@ interface INSearchForMessagesIntentResponse { INMessage [] Messages { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -5966,6 +6026,8 @@ interface INSearchForPhotosIntent { INConditionalOperator PeopleInPhotoOperator { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -6003,6 +6065,8 @@ interface INSearchForPhotosIntentHandling { void ResolvePeopleInPhoto (INSearchForPhotosIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -6022,23 +6086,19 @@ interface INSearchForPhotosIntentResponse { NSNumber SearchResultsCount { get; set; } } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif [iOS (10, 0)] [Watch (3, 2)] [NoTV] [BaseType (typeof (INIntent))] - interface INSendMessageIntent { + interface INSendMessageIntent : UNNotificationContentProviding { - [Watch (7,0), NoMac, iOS (14,0)] + [Watch (7,0), Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [Export ("initWithRecipients:outgoingMessageType:content:speakableGroupName:conversationIdentifier:serviceName:sender:attachments:")] [DesignatedInitializer] IntPtr Constructor ([NullAllowed] INPerson[] recipients, INOutgoingMessageType outgoingMessageType, [NullAllowed] string content, [NullAllowed] INSpeakableString speakableGroupName, [NullAllowed] string conversationIdentifier, [NullAllowed] string serviceName, [NullAllowed] INPerson sender, [NullAllowed] INSendMessageAttachment[] attachments); + [Deprecated (PlatformName.MacOSX, 11, 0, message: "Use '.ctor (INPerson[], INOutgoingMessageType, string, INSpeakableString, string, string, INPerson, INSendMessageAttachment[])' instead.")] [Deprecated (PlatformName.WatchOS, 7, 0, message: "Use '.ctor (INPerson[], INOutgoingMessageType, string, INSpeakableString, string, string, INPerson, INSendMessageAttachment[])' instead.")] [Deprecated (PlatformName.iOS, 14, 0, message: "Use '.ctor (INPerson[], INOutgoingMessageType, string, INSpeakableString, string, string, INPerson, INSendMessageAttachment[])' instead.")] [Watch (4,0), Mac (10,13), iOS (11,0)] @@ -6051,22 +6111,24 @@ interface INSendMessageIntent { [Export ("initWithRecipients:content:groupName:serviceName:sender:")] IntPtr Constructor ([NullAllowed] INPerson [] recipients, [NullAllowed] string content, [NullAllowed] string groupName, [NullAllowed] string serviceName, [NullAllowed] INPerson sender); + [Mac (12,0)] [NullAllowed, Export ("recipients", ArgumentSemantic.Copy)] INPerson [] Recipients { get; } - [Watch (7,0), NoMac, iOS (14,0)] + [Watch (7,0), Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [Export ("outgoingMessageType", ArgumentSemantic.Assign)] INOutgoingMessageType OutgoingMessageType { get; } + [Mac (12,0)] [NullAllowed, Export ("content")] string Content { get; } - [Watch (4,0), Mac (10,13), iOS (11,0)] + [Watch (4,0), Mac (12,0), iOS (11,0)] [NullAllowed, Export ("speakableGroupName", ArgumentSemantic.Copy)] INSpeakableString SpeakableGroupName { get; } - [Watch (4,0), Mac (10,13), iOS (11,0)] + [Watch (4,0), Mac (12,0), iOS (11,0)] [NullAllowed, Export ("conversationIdentifier")] string ConversationIdentifier { get; } @@ -6076,24 +6138,44 @@ interface INSendMessageIntent { [NullAllowed, Export ("groupName")] string GroupName { get; } + [Mac (12,0)] [NullAllowed, Export ("serviceName")] string ServiceName { get; } + [Mac (12,0)] [NullAllowed, Export ("sender", ArgumentSemantic.Copy)] INPerson Sender { get; } - [Watch (7,0), NoMac, iOS (14,0)] + [Watch (7,0), Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [NullAllowed] [Export ("attachments", ArgumentSemantic.Copy)] INSendMessageAttachment[] Attachments { get; } } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(INIntentDonationMetadata))] + [DisableDefaultCtor] + interface INSendMessageIntentDonationMetadata + { + [DesignatedInitializer] + [Export ("init")] + IntPtr Constructor (); + + [Export ("mentionsCurrentUser")] + bool MentionsCurrentUser { get; set; } + + [Export ("replyToCurrentUser")] + bool ReplyToCurrentUser { [Bind ("isReplyToCurrentUser")] get; set; } + + [Export ("notifyRecipientAnyway")] + bool NotifyRecipientAnyway { get; set; } + + [Export ("recipientCount")] + nuint RecipientCount { get; set; } + } + + [Mac (12, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -6119,34 +6201,30 @@ interface INSendMessageIntentHandling { [Export ("resolveRecipientsForSendMessage:withCompletion:")] void ResolveRecipients (INSendMessageIntent intent, Action completion); - [Watch (4,0), iOS (11,0), Mac (10,13)] + [Watch (4,0), iOS (11,0)] [Export ("resolveRecipientsForSendMessage:completion:")] void ResolveRecipients (INSendMessageIntent intent, Action completion); [Export ("resolveContentForSendMessage:withCompletion:")] void ResolveContent (INSendMessageIntent intent, Action completion); - [Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'ResolveSpeakableGroupName' instead.")] + [Deprecated (PlatformName.MacOSX, 12, 0, message: "Use 'ResolveSpeakableGroupName' instead.")] [Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'ResolveSpeakableGroupName' instead.")] [Deprecated (PlatformName.iOS, 11, 0, message: "Use 'ResolveSpeakableGroupName' instead.")] [Export ("resolveGroupNameForSendMessage:withCompletion:")] void ResolveGroupName (INSendMessageIntent intent, Action completion); - [Watch (7,0), NoMac, iOS (14,0)] + [Watch (7,0), iOS (14,0)] [MacCatalyst (14,0)] [Export ("resolveOutgoingMessageTypeForSendMessage:withCompletion:")] void ResolveOutgoingMessageType (INSendMessageIntent intent, Action completion); - [Watch (4,0), iOS (11,0), Mac (10,13)] + [Watch (4,0), iOS (11,0)] [Export ("resolveSpeakableGroupNameForSendMessage:withCompletion:")] void ResolveSpeakableGroupName (INSendMessageIntent intent, Action completion); } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12, 0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] @@ -6161,7 +6239,7 @@ interface INSendMessageIntentResponse { [Export ("code")] INSendMessageIntentResponseCode Code { get; } - [Watch (4,0), iOS (11,0), Mac (10,13)] + [Watch (4,0), iOS (11,0)] [NullAllowed, Export ("sentMessage", ArgumentSemantic.Copy)] INMessage SentMessage { get; set; } } @@ -6248,6 +6326,7 @@ interface INSendPaymentIntentResponse { INPaymentRecord PaymentRecord { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6266,6 +6345,7 @@ interface INSetAudioSourceInCarIntent { INRelativeReference RelativeAudioSourceReference { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6293,6 +6373,7 @@ interface INSetAudioSourceInCarIntentHandling { void ResolveRelativeAudioSourceReference (INSetAudioSourceInCarIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6309,6 +6390,7 @@ interface INSetAudioSourceInCarIntentResponse { INSetAudioSourceInCarIntentResponseCode Code { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6374,6 +6456,7 @@ interface INSetClimateSettingsInCarIntent { INSpeakableString CarName { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6432,6 +6515,7 @@ interface INSetClimateSettingsInCarIntentHandling { void ResolveCarName (INSetClimateSettingsInCarIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6448,6 +6532,7 @@ interface INSetClimateSettingsInCarIntentResponse { INSetClimateSettingsInCarIntentResponseCode Code { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6477,6 +6562,7 @@ interface INSetDefrosterSettingsInCarIntent { INSpeakableString CarName { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6508,6 +6594,7 @@ interface INSetDefrosterSettingsInCarIntentHandling { void ResolveCarName (INSetDefrosterSettingsInCarIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6582,6 +6669,7 @@ interface INSetMessageAttributeIntentResponse { INSetMessageAttributeIntentResponseCode Code { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6626,6 +6714,7 @@ interface INSetProfileInCarIntent { INSpeakableString CarName { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6662,6 +6751,7 @@ interface INSetProfileInCarIntentHandling { void ResolveProfileName (INSetProfileInCarIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6678,6 +6768,7 @@ interface INSetProfileInCarIntentResponse { INSetProfileInCarIntentResponseCode Code { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6705,6 +6796,7 @@ interface INSetRadioStationIntent { NSNumber PresetNumber { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6741,6 +6833,7 @@ interface INSetRadioStationIntentHandling { void ResolvePresetNumber (INSetRadioStationIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6757,6 +6850,7 @@ interface INSetRadioStationIntentResponse { INSetRadioStationIntentResponseCode Code { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6803,6 +6897,7 @@ interface INSetSeatSettingsInCarIntent { INSpeakableString CarName { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6846,6 +6941,7 @@ interface INSetSeatSettingsInCarIntentHandling { void ResolveCarName (INSetSeatSettingsInCarIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] [iOS (10, 0)] [Unavailable (PlatformName.MacOSX)] [Unavailable (PlatformName.WatchOS)] @@ -6862,6 +6958,55 @@ interface INSetSeatSettingsInCarIntentResponse { INSetSeatSettingsInCarIntentResponseCode Code { get; } } + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(INIntent))] + interface INShareFocusStatusIntent + { + [Export ("initWithFocusStatus:")] + [DesignatedInitializer] + IntPtr Constructor ([NullAllowed] INFocusStatus focusStatus); + + [NullAllowed, Export ("focusStatus", ArgumentSemantic.Copy)] + INFocusStatus FocusStatus { get; } + } + + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Protocol] + interface INShareFocusStatusIntentHandling + { + [Abstract] + [Export ("handleShareFocusStatus:completion:")] + void HandleShareFocusStatus (INShareFocusStatusIntent intent, Action completion); + + [Export ("confirmShareFocusStatus:completion:")] + void ConfirmShareFocusStatus (INShareFocusStatusIntent intent, Action completion); + } + + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum INShareFocusStatusIntentResponseCode : long + { + Unspecified = 0, + Ready, + InProgress, + Success, + Failure, + FailureRequiringAppLaunch, + } + + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(INIntentResponse))] + [DisableDefaultCtor] + interface INShareFocusStatusIntentResponse + { + [Export ("initWithCode:userActivity:")] + [DesignatedInitializer] + IntPtr Constructor (INShareFocusStatusIntentResponseCode code, [NullAllowed] NSUserActivity userActivity); + + [Export ("code")] + INShareFocusStatusIntentResponseCode Code { get; } + } + interface IINSpeakable { } [iOS (10, 0)] @@ -7070,6 +7215,8 @@ interface INStartAudioCallIntentResponse { INStartAudioCallIntentResponseCode Code { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -7109,6 +7256,8 @@ interface INStartPhotoPlaybackIntent { INConditionalOperator PeopleInPhotoOperator { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -7142,6 +7291,8 @@ interface INStartPhotoPlaybackIntentHandling { void ResolvePeopleInPhoto (INStartPhotoPlaybackIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -7363,9 +7514,12 @@ interface INStringResolutionResult { INStringResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.MacCatalyst, 15, 0)] [iOS (10, 0)] - [Watch (3, 2)] - [NoTV, Mac (11,0)] + [NoWatch] // it says it's now NoWatch, but not deprecated? (there was previous watch availability) + [NoMac] // it says it's now NoMac, but not deprecated? (there was previous mac availability) + [NoTV] [DisableDefaultCtor] [BaseType (typeof (INIntentResolutionResult))] interface INTemperatureResolutionResult { @@ -7595,10 +7749,20 @@ interface INWorkoutLocationTypeResolutionResult { [BaseType (typeof (NSUserActivity))] interface NSUserActivity_IntentsAdditions { + [Mac (12,0)] [return: NullAllowed] [Export ("interaction")] INInteraction GetInteraction (); + [Watch (5, 0), NoTV, Mac (12, 0), iOS (12, 0)] + [Export ("suggestedInvocationPhrase")] + [return: NullAllowed] + string GetSuggestedInvocationPhrase (); + + [Watch (5, 0), NoTV, Mac (12, 0), iOS (12, 0)] + [Export ("setSuggestedInvocationPhrase:")] + void SetSuggestedInvocationPhrase ([NullAllowed] string suggestedInvocationPhrase); + [Watch (7,0), NoTV, NoMac, iOS (14,0)] [MacCatalyst (14,0)] [Export ("shortcutAvailability")] @@ -7656,6 +7820,8 @@ interface INActivateCarSignalIntentHandling { void ResolveSignals (INActivateCarSignalIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -7693,6 +7859,8 @@ interface INBillDetails : NSCopying, NSSecureCoding { NSDateComponents PaymentDate { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -7715,6 +7883,8 @@ interface INBillPayee : NSCopying, NSSecureCoding { INSpeakableString OrganizationName { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -7766,6 +7936,8 @@ interface INBillPayeeResolutionResult { INBillPayeeResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -8133,6 +8305,8 @@ interface INGetCarPowerLevelStatusIntentResponse { NSMeasurement MinimumBatteryCapacity { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -8167,6 +8341,8 @@ interface INPayBillIntent { INDateComponentsRange DueDate { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -8211,6 +8387,8 @@ interface INPayBillIntentHandling { void ResolveDueDate (INPayBillIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -8467,6 +8645,8 @@ interface INPaymentStatusResolutionResult { INPaymentStatusResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -8495,6 +8675,8 @@ interface INSearchForBillsIntent { INDateComponentsRange DueDateRange { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -8533,6 +8715,8 @@ interface INSearchForBillsIntentHandling { void ResolveDueDateRange (INSearchForBillsIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 3)] [Watch (3, 2)] [Unavailable (PlatformName.MacOSX)] @@ -8772,6 +8956,8 @@ interface INAddTasksIntentResponse { INTask [] AddedTasks { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoMac, iOS (11,0), NoTV] [BaseType (typeof (INIntent))] interface INAppendToNoteIntent { @@ -8787,6 +8973,8 @@ interface INAppendToNoteIntent { INNoteContent Content { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Protocol] interface INAppendToNoteIntentHandling { @@ -8805,6 +8993,8 @@ interface INAppendToNoteIntentHandling { void ResolveContentForAppend (INAppendToNoteIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntentResponse))] [DisableDefaultCtor] @@ -8888,11 +9078,7 @@ interface INBalanceTypeResolutionResult { INBalanceTypeResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [Watch (4,0), NoTV, iOS (11,0)] [BaseType (typeof (INIntentResolutionResult))] [DisableDefaultCtor] @@ -8937,17 +9123,13 @@ interface INCallDestinationTypeResolutionResult { INCallDestinationTypeResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [Watch (4,0), iOS (11,0), NoTV] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INCallRecord : NSCopying, NSSecureCoding { - [Watch (7,4), Mac (11,3), iOS (14,5)] + [Watch (7,4), iOS (14,5)] [MacCatalyst (14,5)] [Export ("initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:participants:numberOfCalls:isCallerIdBlocked:")] [DesignatedInitializer] @@ -8956,12 +9138,11 @@ interface INCallRecord : NSCopying, NSSecureCoding { [Deprecated (PlatformName.iOS, 14, 5, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] [Deprecated (PlatformName.MacCatalyst, 14, 5, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] [Deprecated (PlatformName.WatchOS, 7, 4, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] - [Deprecated (PlatformName.MacOSX, 11, 3, message: "Use '.ctor (string, NSDate, INCallRecordType, INCallCapability, double?, bool?, int?)' instead.")] - [Watch (6,0), Mac (10,15), iOS (13,0)] + [Watch (6,0), iOS (13,0)] [Export ("initWithIdentifier:dateCreated:caller:callRecordType:callCapability:callDuration:unseen:numberOfCalls:")] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, [NullAllowed] INPerson caller, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] [BindAs (typeof (double?))] NSNumber callDuration, [NullAllowed] [BindAs (typeof (bool?))] NSNumber unseen, [NullAllowed] [BindAs (typeof (int?))] NSNumber numberOfCalls); - [Watch (7,4), Mac (11,3), iOS (14,5)] + [Watch (7,4), iOS (14,5)] [MacCatalyst (14,5)] [Export ("initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:numberOfCalls:")] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] [BindAs (typeof (double?))] NSNumber callDuration, [NullAllowed] [BindAs (typeof (bool?))] NSNumber unseen, [NullAllowed] [BindAs (typeof (int?))] NSNumber numberOfCalls); @@ -8973,7 +9154,7 @@ interface INCallRecord : NSCopying, NSSecureCoding { [Export ("initWithIdentifier:dateCreated:caller:callRecordType:callCapability:callDuration:unseen:")] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, [NullAllowed] INPerson caller, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] NSNumber callDuration, [NullAllowed] NSNumber unseen); - [Watch (7,4), Mac (11,3), iOS (14,5)] + [Watch (7,4), iOS (14,5)] [MacCatalyst (14,5)] [Export ("initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:")] IntPtr Constructor (string identifier, [NullAllowed] NSDate dateCreated, INCallRecordType callRecordType, INCallCapability callCapability, [NullAllowed] [BindAs (typeof (double?))] NSNumber callDuration, [NullAllowed] [BindAs (typeof (bool?))] NSNumber unseen); @@ -8985,6 +9166,7 @@ interface INCallRecord : NSCopying, NSSecureCoding { NSDate DateCreated { get; } [Deprecated (PlatformName.iOS, 14, 5)] + [Deprecated (PlatformName.MacOSX, 12, 0)] [Deprecated (PlatformName.WatchOS, 7, 4)] [Deprecated (PlatformName.MacCatalyst, 14, 5)] [NullAllowed, Export ("caller", ArgumentSemantic.Copy)] @@ -9005,28 +9187,24 @@ interface INCallRecord : NSCopying, NSSecureCoding { NSNumber WeakUnseen { get; } [BindAs (typeof (int?))] - [Watch (6,0), NoMac, iOS (13,0)] + [Watch (6,0), iOS (13,0)] [NullAllowed, Export ("numberOfCalls", ArgumentSemantic.Copy)] NSNumber NumberOfCalls { get; } [BindAs (typeof (bool?))] - [Watch (7,4), NoMac, iOS (14,5)] + [Watch (7,4), iOS (14,5)] [MacCatalyst (14,5)] [Export ("isCallerIdBlocked", ArgumentSemantic.Copy)] NSNumber IsCallerIdBlocked { get; } [NullAllowed] - [Watch (7,4), NoMac, iOS (14,5)] + [Watch (7,4), iOS (14,5)] [MacCatalyst (14,5)] [Export ("participants", ArgumentSemantic.Copy)] INPerson[] Participants { get; } } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [Watch (4,0), NoTV, iOS (11,0)] [BaseType (typeof (INIntentResolutionResult))] [DisableDefaultCtor] @@ -9171,6 +9349,8 @@ interface INCreateNoteIntentResponse { INNote CreatedNote { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntent))] [DisableDefaultCtor] @@ -9190,6 +9370,8 @@ interface INCreateTaskListIntent { INSpeakableString GroupName { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Protocol] interface INCreateTaskListIntentHandling { @@ -9211,6 +9393,8 @@ interface INCreateTaskListIntentHandling { void ResolveGroupName (INCreateTaskListIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntentResponse))] [DisableDefaultCtor] @@ -9271,6 +9455,8 @@ interface INDateSearchTypeResolutionResult { INDateSearchTypeResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntent))] [DisableDefaultCtor] @@ -9284,6 +9470,8 @@ interface INGetVisualCodeIntent { INVisualCodeType VisualCodeType { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Protocol] interface INGetVisualCodeIntentHandling { @@ -9299,6 +9487,8 @@ interface INGetVisualCodeIntentHandling { void ResolveVisualCodeType (INGetVisualCodeIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntentResponse))] [DisableDefaultCtor] @@ -9946,11 +10136,7 @@ interface INSearchForNotebookItemsIntentResponse { INSortType SortType { get; set; } } -#if XAMCORE_4_0 - [NoMac] -#elif MONOMAC - [Obsoleted (PlatformName.MacOSX, 10,0, message: "Unavailable on macOS, will be removed in the future.")] -#endif + [Mac (12,0)] [Watch (4,0), NoTV, iOS (11,0)] [BaseType (typeof (INPersonResolutionResult))] [DisableDefaultCtor] @@ -10592,6 +10778,8 @@ interface INTextNoteContent : NSSecureCoding, NSCopying { string Text { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntent))] [DisableDefaultCtor] @@ -10617,6 +10805,8 @@ interface INTransferMoneyIntent { string TransactionNote { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [Protocol] interface INTransferMoneyIntentHandling { @@ -10644,6 +10834,8 @@ interface INTransferMoneyIntentHandling { void ResolveTransactionNote (INTransferMoneyIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntentResponse))] [DisableDefaultCtor] @@ -10675,6 +10867,8 @@ interface INTransferMoneyIntentResponse { INCurrencyAmount TransferFee { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (4,0), NoTV, NoMac, iOS (11,0)] [BaseType (typeof (INIntentResolutionResult))] [DisableDefaultCtor] @@ -10982,6 +11176,10 @@ interface INRelevantShortcut : NSSecureCoding, NSCopying { [NullAllowed, Export ("watchTemplate", ArgumentSemantic.Copy)] INDefaultCardTemplate WatchTemplate { get; set; } + [iOS (15,0), Watch (8,0), MacCatalyst (15,0)] + [NullAllowed, Export ("widgetKind")] + string WidgetKind { get; set; } + [Export ("shortcutRole", ArgumentSemantic.Assign)] INRelevantShortcutRole ShortcutRole { get; set; } @@ -11041,7 +11239,7 @@ interface INUpcomingMediaManager { void SetPredictionMode (INUpcomingMediaPredictionMode mode, INMediaItemType type); } - [Watch (5,0), NoTV, NoMac, iOS (12,0)] + [Watch (5,0), NoTV, Mac (12,0), iOS (12,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INVoiceShortcut : NSSecureCoding, NSCopying { @@ -11058,7 +11256,7 @@ interface INVoiceShortcut : NSSecureCoding, NSCopying { delegate void INVoiceShortcutCenterGetVoiceShortcutsHandler ([NullAllowed] INVoiceShortcut [] voiceShortcuts, NSError error); - [Watch (5,0), NoTV, NoMac, iOS (12,0)] + [Watch (5,0), NoTV, Mac (12,0), iOS (12,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface INVoiceShortcutCenter { @@ -11385,7 +11583,7 @@ interface INAirportGate : NSCopying, NSSecureCoding { string Gate { get; } } - [Watch (6,0), NoTV, NoMac, iOS (13,0)] + [Watch (6,0), NoTV, Mac (12,0), iOS (13,0)] [BaseType (typeof (INIntentResolutionResult))] [DisableDefaultCtor] interface INCallCapabilityResolutionResult { @@ -11427,6 +11625,8 @@ interface INCallCapabilityResolutionResult { INCallCapabilityResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [BaseType (typeof (INIntent))] [DisableDefaultCtor] @@ -11447,6 +11647,8 @@ interface INDeleteTasksIntent { NSNumber All { get; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [Protocol] interface INDeleteTasksIntentHandling { @@ -11465,6 +11667,8 @@ interface INDeleteTasksIntentHandling { void ResolveTasks (INDeleteTasksIntent intent, Action completion); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [BaseType (typeof (INIntentResponse))] [DisableDefaultCtor] @@ -11481,6 +11685,8 @@ interface INDeleteTasksIntentResponse { INTask[] DeletedTasks { get; set; } } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [BaseType (typeof (INTaskListResolutionResult))] [DisableDefaultCtor] @@ -11538,6 +11744,8 @@ interface INDeleteTasksTaskListResolutionResult { INDeleteTasksTaskListResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [Watch (6,0), NoTV, NoMac, iOS (13,0)] [BaseType (typeof (INTaskResolutionResult))] [DisableDefaultCtor] @@ -11804,6 +12012,49 @@ interface INFlightReservation : NSCopying, NSSecureCoding { INFlight Flight { get; } } + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [Native] + public enum INFocusStatusAuthorizationStatus : long + { + NotDetermined = 0, + Restricted, + Denied, + Authorized, + } + + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + [DisableDefaultCtor] + interface INFocusStatus : NSCopying, NSSecureCoding + { + [Export ("initWithIsFocused:")] + [DesignatedInitializer] + IntPtr Constructor ([NullAllowed] NSNumber isFocused); + + [Export ("isFocused", ArgumentSemantic.Copy)] + [NullAllowed] + NSNumber IsFocused { get; } + } + + [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [BaseType (typeof(NSObject))] + interface INFocusStatusCenter + { + [Static] + [Export ("defaultCenter", ArgumentSemantic.Strong)] + INFocusStatusCenter DefaultCenter { get; } + + [Export ("focusStatus")] + INFocusStatus FocusStatus { get; } + + [Export ("authorizationStatus")] + INFocusStatusAuthorizationStatus AuthorizationStatus { get; } + + [Async] + [Export ("requestAuthorizationWithCompletionHandler:")] + void RequestAuthorization ([NullAllowed] Action completionHandler); + } + [Watch (6,0), NoTV, Mac (11,0), iOS (13,0)] [BaseType (typeof (INIntent))] [DisableDefaultCtor] @@ -12975,12 +13226,12 @@ interface INStartCallContactResolutionResult { INStartCallContactResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } - [Watch (6,0), NoTV, NoMac, iOS (13,0)] + [Watch (6,0), NoTV, Mac (12,0), iOS (13,0)] [BaseType (typeof (INIntent))] [DisableDefaultCtor] - interface INStartCallIntent { - - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + interface INStartCallIntent : UNNotificationContentProviding { + + [Watch (7,0), NoTV, iOS (14,0)] [MacCatalyst (14,0)] [Export ("initWithCallRecordFilter:callRecordToCallBack:audioRoute:destinationType:contacts:callCapability:")] [DesignatedInitializer] @@ -12991,13 +13242,13 @@ interface INStartCallIntent { [Export ("initWithAudioRoute:destinationType:contacts:recordTypeForRedialing:callCapability:")] IntPtr Constructor (INCallAudioRoute audioRoute, INCallDestinationType destinationType, [NullAllowed] INPerson[] contacts, INCallRecordType recordTypeForRedialing, INCallCapability callCapability); - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, iOS (14,0)] [MacCatalyst (14,0)] [NullAllowed] [Export ("callRecordFilter", ArgumentSemantic.Copy)] INCallRecordFilter CallRecordFilter { get; } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, iOS (14,0)] [MacCatalyst (14,0)] [NullAllowed] [Export ("callRecordToCallBack", ArgumentSemantic.Copy)] @@ -13032,7 +13283,7 @@ interface INStartCallIntentHandling { [Export ("confirmStartCall:completion:")] void Confirm (INStartCallIntent intent, Action completion); - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, iOS (14,0)] [MacCatalyst (14,0)] [Export ("resolveCallRecordToCallBackForStartCall:withCompletion:")] void ResolveCallRecordToCallBack (INStartCallIntent intent, Action completion); @@ -13728,7 +13979,7 @@ interface INBusTrip : NSCopying, NSSecureCoding { string ArrivalPlatform { get; } } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -13748,7 +13999,7 @@ interface INCallRecordFilter : NSCopying, NSSecureCoding { INCallCapability CallCapability { get; } } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [BaseType (typeof (INIntentResolutionResult))] interface INCallRecordResolutionResult { @@ -13936,7 +14187,7 @@ interface INObjectSection : NSCopying, NSSecureCoding IntPtr Constructor ([NullAllowed] string title, ObjectType[] items); } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [BaseType (typeof (INIntentResolutionResult))] [DisableDefaultCtor] @@ -13979,7 +14230,7 @@ interface INOutgoingMessageTypeResolutionResult { INOutgoingMessageTypeResolutionResult GetConfirmationRequired (NSObject itemToConfirm, nint reason); } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -13993,7 +14244,7 @@ interface INSendMessageAttachment { INFile AudioMessageFile { get; } } - [Watch (7,0), NoTV, NoMac, iOS (14,0)] + [Watch (7,0), NoTV, Mac (12,0), iOS (14,0)] [MacCatalyst (14,0)] [BaseType (typeof (INCallRecordResolutionResult))] [DisableDefaultCtor] diff --git a/tests/introspection/ApiSelectorTest.cs b/tests/introspection/ApiSelectorTest.cs index 97fbad0695ab..5ec1fd8385cb 100644 --- a/tests/introspection/ApiSelectorTest.cs +++ b/tests/introspection/ApiSelectorTest.cs @@ -1059,6 +1059,9 @@ protected virtual bool SkipInit (string selector, MethodBase m) case "initWithUUID:identifier:": case "initWithUUID:major:identifier:": case "initWithUUID:major:minor:identifier:": + // Intents + case "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:": + case "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:": // NEHotspotConfiguration case "initWithSSID:": case "initWithSSID:passphrase:isWEP:": diff --git a/tests/xtro-sharpie/MacCatalyst-Intents.todo b/tests/xtro-sharpie/MacCatalyst-Intents.todo deleted file mode 100644 index 5cd08718e341..000000000000 --- a/tests/xtro-sharpie/MacCatalyst-Intents.todo +++ /dev/null @@ -1,37 +0,0 @@ -!missing-enum! INFocusStatusAuthorizationStatus not bound -!missing-enum! INShareFocusStatusIntentResponseCode not bound -!missing-protocol! INShareFocusStatusIntentHandling not bound -!missing-protocol-conformance! INSendMessageIntent should conform to UNNotificationContentProviding (defined in 'UserNotifications' category) -!missing-protocol-conformance! INStartCallIntent should conform to UNNotificationContentProviding (defined in 'UserNotifications' category) -!missing-selector! +INFocusStatusCenter::defaultCenter not bound -!missing-selector! INFocusStatus::initWithIsFocused: not bound -!missing-selector! INFocusStatus::isFocused not bound -!missing-selector! INFocusStatusCenter::authorizationStatus not bound -!missing-selector! INFocusStatusCenter::focusStatus not bound -!missing-selector! INFocusStatusCenter::requestAuthorizationWithCompletionHandler: not bound -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType: not bound -!missing-selector! INRelevantShortcut::setWidgetKind: not bound -!missing-selector! INRelevantShortcut::widgetKind not bound -!missing-selector! INSendMessageIntentDonationMetadata::init not bound -!missing-selector! INSendMessageIntentDonationMetadata::mentionsCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::recipientCount not bound -!missing-selector! INSendMessageIntentDonationMetadata::setMentionsCurrentUser: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setRecipientCount: not bound -!missing-selector! INShareFocusStatusIntent::focusStatus not bound -!missing-selector! INShareFocusStatusIntent::initWithFocusStatus: not bound -!missing-selector! INShareFocusStatusIntentResponse::code not bound -!missing-selector! INShareFocusStatusIntentResponse::initWithCode:userActivity: not bound -!missing-type! INFocusStatus not bound -!missing-type! INFocusStatusCenter not bound -!missing-type! INIntentDonationMetadata not bound -!missing-type! INSendMessageIntentDonationMetadata not bound -!missing-type! INShareFocusStatusIntent not bound -!missing-type! INShareFocusStatusIntentResponse not bound -!missing-selector! INIntent::donationMetadata not bound -!missing-selector! INIntent::setDonationMetadata: not bound -!missing-selector! INSendMessageIntentDonationMetadata::isReplyToCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::notifyRecipientAnyway not bound -!missing-selector! INSendMessageIntentDonationMetadata::setNotifyRecipientAnyway: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setReplyToCurrentUser: not bound -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType: not bound -!missing-selector! INPerson::isContactSuggestion not bound diff --git a/tests/xtro-sharpie/iOS-Intents.todo b/tests/xtro-sharpie/iOS-Intents.todo deleted file mode 100644 index 9ad4c7acd902..000000000000 --- a/tests/xtro-sharpie/iOS-Intents.todo +++ /dev/null @@ -1,88 +0,0 @@ -!deprecated-attribute-missing! INAppendToNoteIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INAppendToNoteIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillDetails missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillPayee missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillPayeeResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillTypeResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INCarAirCirculationModeResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INCarAudioSourceResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INCarDefrosterResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INCarSeatResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INCreateTaskListIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INCreateTaskListIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksTaskListResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksTaskResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INGetVisualCodeIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INGetVisualCodeIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INPayBillIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INPayBillIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INRadioTypeResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INSaveProfileInCarIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSaveProfileInCarIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchCallHistoryIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchCallHistoryIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForBillsIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForBillsIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForPhotosIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForPhotosIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetAudioSourceInCarIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetAudioSourceInCarIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetClimateSettingsInCarIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetClimateSettingsInCarIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetDefrosterSettingsInCarIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetDefrosterSettingsInCarIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetProfileInCarIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetProfileInCarIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetRadioStationIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetRadioStationIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetSeatSettingsInCarIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSetSeatSettingsInCarIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INStartPhotoPlaybackIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INStartPhotoPlaybackIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INTransferMoneyIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INTransferMoneyIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INVisualCodeTypeResolutionResult missing a [Deprecated] attribute -!missing-enum! INFocusStatusAuthorizationStatus not bound -!missing-enum! INShareFocusStatusIntentResponseCode not bound -!missing-protocol! INShareFocusStatusIntentHandling not bound -!missing-protocol-conformance! INSendMessageIntent should conform to UNNotificationContentProviding (defined in 'UserNotifications' category) -!missing-protocol-conformance! INStartCallIntent should conform to UNNotificationContentProviding (defined in 'UserNotifications' category) -!missing-selector! +INFocusStatusCenter::defaultCenter not bound -!missing-selector! INFocusStatus::initWithIsFocused: not bound -!missing-selector! INFocusStatus::isFocused not bound -!missing-selector! INFocusStatusCenter::authorizationStatus not bound -!missing-selector! INFocusStatusCenter::focusStatus not bound -!missing-selector! INFocusStatusCenter::requestAuthorizationWithCompletionHandler: not bound -!missing-selector! INIntent::donationMetadata not bound -!missing-selector! INIntent::setDonationMetadata: not bound -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType: not bound -!missing-selector! INRelevantShortcut::setWidgetKind: not bound -!missing-selector! INRelevantShortcut::widgetKind not bound -!missing-selector! INSendMessageIntentDonationMetadata::init not bound -!missing-selector! INSendMessageIntentDonationMetadata::isReplyToCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::mentionsCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::notifyRecipientAnyway not bound -!missing-selector! INSendMessageIntentDonationMetadata::recipientCount not bound -!missing-selector! INSendMessageIntentDonationMetadata::setMentionsCurrentUser: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setNotifyRecipientAnyway: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setRecipientCount: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setReplyToCurrentUser: not bound -!missing-selector! INShareFocusStatusIntent::focusStatus not bound -!missing-selector! INShareFocusStatusIntent::initWithFocusStatus: not bound -!missing-selector! INShareFocusStatusIntentResponse::code not bound -!missing-selector! INShareFocusStatusIntentResponse::initWithCode:userActivity: not bound -!missing-type! INFocusStatus not bound -!missing-type! INFocusStatusCenter not bound -!missing-type! INIntentDonationMetadata not bound -!missing-type! INSendMessageIntentDonationMetadata not bound -!missing-type! INShareFocusStatusIntent not bound -!missing-type! INShareFocusStatusIntentResponse not bound -## appended from unclassified file -## appended from unclassified file -!deprecated-attribute-missing! INRelativeReferenceResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INRelativeSettingResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INTemperatureResolutionResult missing a [Deprecated] attribute -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType: not bound -!missing-selector! INPerson::isContactSuggestion not bound diff --git a/tests/xtro-sharpie/macOS-Intents.ignore b/tests/xtro-sharpie/macOS-Intents.ignore index 82f55c59e134..f849e77f616e 100644 --- a/tests/xtro-sharpie/macOS-Intents.ignore +++ b/tests/xtro-sharpie/macOS-Intents.ignore @@ -69,3 +69,6 @@ !unknown-type! INStartAudioCallIntentResponse bound !unknown-type! INStartVideoCallIntent bound !unknown-type! INStartVideoCallIntentResponse bound + +## Headers say Mac (12,0) but types used in properties are still NoMac +!missing-protocol! INStartCallIntentHandling not bound diff --git a/tests/xtro-sharpie/macOS-Intents.todo b/tests/xtro-sharpie/macOS-Intents.todo deleted file mode 100644 index c525dff1f2ea..000000000000 --- a/tests/xtro-sharpie/macOS-Intents.todo +++ /dev/null @@ -1,91 +0,0 @@ -## appended from unclassified file -!missing-enum! INCallAudioRoute not bound -!missing-enum! INFocusStatusAuthorizationStatus not bound -!missing-enum! INOutgoingMessageType not bound -!missing-enum! INShareFocusStatusIntentResponseCode not bound -!missing-enum! INStartCallCallRecordToCallBackUnsupportedReason not bound -!missing-protocol! INShareFocusStatusIntentHandling not bound -!missing-protocol! INStartCallIntentHandling not bound -!missing-protocol-conformance! INSendMessageIntent should conform to UNNotificationContentProviding (defined in 'UserNotifications' category) -!missing-protocol-member! INSendMessageIntentHandling::resolveOutgoingMessageTypeForSendMessage:withCompletion: not found -!missing-selector! +INCallCapabilityResolutionResult::confirmationRequiredWithCallCapabilityToConfirm: not bound -!missing-selector! +INCallCapabilityResolutionResult::successWithResolvedCallCapability: not bound -!missing-selector! +INCallRecordResolutionResult::confirmationRequiredWithCallRecordToConfirm: not bound -!missing-selector! +INCallRecordResolutionResult::disambiguationWithCallRecordsToDisambiguate: not bound -!missing-selector! +INCallRecordResolutionResult::successWithResolvedCallRecord: not bound -!missing-selector! +INFocusStatusCenter::defaultCenter not bound -!missing-selector! +INOutgoingMessageTypeResolutionResult::confirmationRequiredWithOutgoingMessageTypeToConfirm: not bound -!missing-selector! +INOutgoingMessageTypeResolutionResult::successWithResolvedOutgoingMessageType: not bound -!missing-selector! +INSendMessageAttachment::attachmentWithAudioMessageFile: not bound -!missing-selector! +INStartCallCallRecordToCallBackResolutionResult::unsupportedForReason: not bound -!missing-selector! +INVoiceShortcutCenter::sharedCenter not bound -!missing-selector! INCallRecord::isCallerIdBlocked not bound -!missing-selector! INCallRecord::numberOfCalls not bound -!missing-selector! INCallRecord::participants not bound -!missing-selector! INCallRecordFilter::callCapability not bound -!missing-selector! INCallRecordFilter::callTypes not bound -!missing-selector! INCallRecordFilter::initWithParticipants:callTypes:callCapability: not bound -!missing-selector! INCallRecordFilter::participants not bound -!missing-selector! INCurrencyAmount::amount not bound -!missing-selector! INCurrencyAmount::currencyCode not bound -!missing-selector! INCurrencyAmount::initWithAmount:currencyCode: not bound -!missing-selector! INFocusStatus::initWithIsFocused: not bound -!missing-selector! INFocusStatus::isFocused not bound -!missing-selector! INFocusStatusCenter::authorizationStatus not bound -!missing-selector! INFocusStatusCenter::focusStatus not bound -!missing-selector! INFocusStatusCenter::requestAuthorizationWithCompletionHandler: not bound -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType: not bound -!missing-selector! INSendMessageAttachment::audioMessageFile not bound -!missing-selector! INSendMessageIntent::attachments not bound -!missing-selector! INSendMessageIntent::initWithRecipients:outgoingMessageType:content:speakableGroupName:conversationIdentifier:serviceName:sender:attachments: not bound -!missing-selector! INSendMessageIntent::outgoingMessageType not bound -!missing-selector! INSendMessageIntentDonationMetadata::init not bound -!missing-selector! INSendMessageIntentDonationMetadata::mentionsCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::recipientCount not bound -!missing-selector! INSendMessageIntentDonationMetadata::setMentionsCurrentUser: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setRecipientCount: not bound -!missing-selector! INShareFocusStatusIntent::focusStatus not bound -!missing-selector! INShareFocusStatusIntent::initWithFocusStatus: not bound -!missing-selector! INShareFocusStatusIntentResponse::code not bound -!missing-selector! INShareFocusStatusIntentResponse::initWithCode:userActivity: not bound -!missing-selector! INStartCallCallRecordToCallBackResolutionResult::initWithCallRecordResolutionResult: not bound -!missing-selector! INStartCallIntent::audioRoute not bound -!missing-selector! INStartCallIntent::callCapability not bound -!missing-selector! INStartCallIntent::callRecordFilter not bound -!missing-selector! INStartCallIntent::callRecordToCallBack not bound -!missing-selector! INStartCallIntent::contacts not bound -!missing-selector! INStartCallIntent::destinationType not bound -!missing-selector! INStartCallIntent::initWithCallRecordFilter:callRecordToCallBack:audioRoute:destinationType:contacts:callCapability: not bound -!missing-selector! INVoiceShortcut::identifier not bound -!missing-selector! INVoiceShortcut::invocationPhrase not bound -!missing-selector! INVoiceShortcut::shortcut not bound -!missing-selector! INVoiceShortcutCenter::getAllVoiceShortcutsWithCompletion: not bound -!missing-selector! INVoiceShortcutCenter::getVoiceShortcutWithIdentifier:completion: not bound -!missing-selector! INVoiceShortcutCenter::setShortcutSuggestions: not bound -!missing-selector! NSUserActivity::setSuggestedInvocationPhrase: not bound -!missing-selector! NSUserActivity::suggestedInvocationPhrase not bound -!missing-type! INCallCapabilityResolutionResult not bound -!missing-type! INCallRecordFilter not bound -!missing-type! INCallRecordResolutionResult not bound -!missing-type! INCurrencyAmount not bound -!missing-type! INFocusStatus not bound -!missing-type! INFocusStatusCenter not bound -!missing-type! INIntentDonationMetadata not bound -!missing-type! INOutgoingMessageTypeResolutionResult not bound -!missing-type! INSendMessageAttachment not bound -!missing-type! INSendMessageIntentDonationMetadata not bound -!missing-type! INShareFocusStatusIntent not bound -!missing-type! INShareFocusStatusIntentResponse not bound -!missing-type! INStartCallCallRecordToCallBackResolutionResult not bound -!missing-type! INStartCallIntent not bound -!missing-type! INVoiceShortcut not bound -!missing-type! INVoiceShortcutCenter not bound -!missing-selector! INIntent::donationMetadata not bound -!missing-selector! INIntent::setDonationMetadata: not bound -!missing-selector! INSendMessageIntentDonationMetadata::isReplyToCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::notifyRecipientAnyway not bound -!missing-selector! INSendMessageIntentDonationMetadata::setNotifyRecipientAnyway: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setReplyToCurrentUser: not bound -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType: not bound -!missing-selector! INPerson::isContactSuggestion not bound -!unknown-type! INTemperatureResolutionResult bound diff --git a/tests/xtro-sharpie/tvOS-Intents.todo b/tests/xtro-sharpie/tvOS-Intents.todo deleted file mode 100644 index 790ffba153f3..000000000000 --- a/tests/xtro-sharpie/tvOS-Intents.todo +++ /dev/null @@ -1,4 +0,0 @@ -## appended from unclassified file -!missing-type! INIntentDonationMetadata not bound -!missing-selector! INIntent::donationMetadata not bound -!missing-selector! INIntent::setDonationMetadata: not bound diff --git a/tests/xtro-sharpie/watchOS-Intents.todo b/tests/xtro-sharpie/watchOS-Intents.todo deleted file mode 100644 index 8e5d398bc3b3..000000000000 --- a/tests/xtro-sharpie/watchOS-Intents.todo +++ /dev/null @@ -1,67 +0,0 @@ -!deprecated-attribute-missing! INAppendToNoteIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INAppendToNoteIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillDetails missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillPayee missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillPayeeResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INBillTypeResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INCreateTaskListIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INCreateTaskListIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksTaskListResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INDeleteTasksTaskResolutionResult missing a [Deprecated] attribute -!deprecated-attribute-missing! INGetVisualCodeIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INGetVisualCodeIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INPayBillIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INPayBillIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchCallHistoryIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchCallHistoryIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForBillsIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForBillsIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForPhotosIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INSearchForPhotosIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INStartPhotoPlaybackIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INStartPhotoPlaybackIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INTransferMoneyIntent missing a [Deprecated] attribute -!deprecated-attribute-missing! INTransferMoneyIntentResponse missing a [Deprecated] attribute -!deprecated-attribute-missing! INVisualCodeTypeResolutionResult missing a [Deprecated] attribute -!missing-enum! INFocusStatusAuthorizationStatus not bound -!missing-enum! INShareFocusStatusIntentResponseCode not bound -!missing-protocol! INShareFocusStatusIntentHandling not bound -!missing-protocol-conformance! INSendMessageIntent should conform to UNNotificationContentProviding (defined in 'UserNotifications' category) -!missing-protocol-conformance! INStartCallIntent should conform to UNNotificationContentProviding (defined in 'UserNotifications' category) -!missing-selector! +INFocusStatusCenter::defaultCenter not bound -!missing-selector! INFocusStatus::initWithIsFocused: not bound -!missing-selector! INFocusStatus::isFocused not bound -!missing-selector! INFocusStatusCenter::authorizationStatus not bound -!missing-selector! INFocusStatusCenter::focusStatus not bound -!missing-selector! INFocusStatusCenter::requestAuthorizationWithCompletionHandler: not bound -!missing-selector! INIntent::donationMetadata not bound -!missing-selector! INIntent::setDonationMetadata: not bound -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType: not bound -!missing-selector! INRelevantShortcut::setWidgetKind: not bound -!missing-selector! INRelevantShortcut::widgetKind not bound -!missing-selector! INSendMessageIntentDonationMetadata::init not bound -!missing-selector! INSendMessageIntentDonationMetadata::isReplyToCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::mentionsCurrentUser not bound -!missing-selector! INSendMessageIntentDonationMetadata::notifyRecipientAnyway not bound -!missing-selector! INSendMessageIntentDonationMetadata::recipientCount not bound -!missing-selector! INSendMessageIntentDonationMetadata::setMentionsCurrentUser: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setNotifyRecipientAnyway: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setRecipientCount: not bound -!missing-selector! INSendMessageIntentDonationMetadata::setReplyToCurrentUser: not bound -!missing-selector! INShareFocusStatusIntent::focusStatus not bound -!missing-selector! INShareFocusStatusIntent::initWithFocusStatus: not bound -!missing-selector! INShareFocusStatusIntentResponse::code not bound -!missing-selector! INShareFocusStatusIntentResponse::initWithCode:userActivity: not bound -!missing-type! INFocusStatus not bound -!missing-type! INFocusStatusCenter not bound -!missing-type! INIntentDonationMetadata not bound -!missing-type! INSendMessageIntentDonationMetadata not bound -!missing-type! INShareFocusStatusIntent not bound -!missing-type! INShareFocusStatusIntentResponse not bound -## appended from unclassified file -## appended from unclassified file -!missing-selector! INPerson::initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType: not bound -!missing-selector! INPerson::isContactSuggestion not bound -!unknown-type! INTemperatureResolutionResult bound From b14b8cbfdce30862a38b06b1934e00d5c050d632 Mon Sep 17 00:00:00 2001 From: Rachel Kang Date: Mon, 20 Sep 2021 09:40:14 -0400 Subject: [PATCH 2/4] Update based on feedback --- src/Intents/INPerson.cs | 46 ++++++++++++++++++++--------------------- src/intents.cs | 4 ++-- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/Intents/INPerson.cs b/src/Intents/INPerson.cs index 5fad0be5cc31..ec2e6d3890cf 100644 --- a/src/Intents/INPerson.cs +++ b/src/Intents/INPerson.cs @@ -20,11 +20,11 @@ public partial class INPerson #else [SupportedOSPlatform ("ios15.0")] [SupportedOSPlatform ("macos12.0")] -#endif //!NET - public enum INPersonType { - Me = 0, - ContactSuggestion = 1, - } + #endif //!NET + public enum INPersonType { + Me = 0, + ContactSuggestion = 1, + } #if !NET [Introduced (PlatformName.iOS, 15,0)] @@ -34,10 +34,10 @@ public enum INPersonType { [SupportedOSPlatform ("ios15.0")] [SupportedOSPlatform ("macos12.0")] #endif //!NET - public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameComponents, string? displayName, INImage? image, string? contactIdentifier, string? customIdentifier, bool isMe, INPersonSuggestionType suggestionType) : - this (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType, INPersonType.Me) - { - } + public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameComponents, string? displayName, INImage? image, string? contactIdentifier, string? customIdentifier, bool isMe, INPersonSuggestionType suggestionType) : + this (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType, INPersonType.Me) + { + } #if !NET [Introduced (PlatformName.iOS, 15,0)] @@ -48,20 +48,20 @@ public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameCompon [SupportedOSPlatform ("macos12.0")] #endif //!NET public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameComponents, string? displayName, INImage? image, string? contactIdentifier, string? customIdentifier, bool isMe, INPersonSuggestionType suggestionType, INPersonType personType) : base (NSObjectFlag.Empty) - { - switch (personType) { - case INPersonType.Me: - InitializeHandle (InitWithMe (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType), - "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:"); - break; - case INPersonType.ContactSuggestion: - InitializeHandle (InitWithContactSuggestion (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType), - "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:"); - break; - default: - throw new ArgumentException (nameof (personType)); - } - } + { + switch (personType) { + case INPersonType.Me: + InitializeHandle (InitWithMe (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType), + "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:"); + break; + case INPersonType.ContactSuggestion: + InitializeHandle (InitWithContactSuggestion (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType), + "initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:"); + break; + default: + throw new ArgumentException (nameof (personType)); + } + } } #endif // !TVOS } diff --git a/src/intents.cs b/src/intents.cs index 63942da22838..cecff7a06af9 100644 --- a/src/intents.cs +++ b/src/intents.cs @@ -7516,9 +7516,9 @@ interface INStringResolutionResult { [Deprecated (PlatformName.iOS, 15, 0)] [Deprecated (PlatformName.MacCatalyst, 15, 0)] + [Deprecated (PlatformName.MacOSX, 12, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] [iOS (10, 0)] - [NoWatch] // it says it's now NoWatch, but not deprecated? (there was previous watch availability) - [NoMac] // it says it's now NoMac, but not deprecated? (there was previous mac availability) [NoTV] [DisableDefaultCtor] [BaseType (typeof (INIntentResolutionResult))] From 38928db15a3df410e7d5159931c55d5c8d90b359 Mon Sep 17 00:00:00 2001 From: Rachel Kang Date: Tue, 21 Sep 2021 10:49:16 -0400 Subject: [PATCH 3/4] Update based on feedback --- src/Intents/INPerson.cs | 32 +++++++++++------------ src/intents.cs | 25 ++++++++---------- tests/xtro-sharpie/macOS-Intents.ignore | 4 +++ tests/xtro-sharpie/watchOS-Intents.ignore | 4 +++ 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/src/Intents/INPerson.cs b/src/Intents/INPerson.cs index ec2e6d3890cf..d629f32d50b5 100644 --- a/src/Intents/INPerson.cs +++ b/src/Intents/INPerson.cs @@ -14,25 +14,25 @@ public partial class INPerson { #if !NET - [Introduced (PlatformName.iOS, 15,0)] - [Introduced (PlatformName.MacOSX, 12,0)] - [Introduced (PlatformName.WatchOS, 8,0)] + [Introduced (PlatformName.iOS, 15,0)] + [Introduced (PlatformName.MacOSX, 12,0)] + [Introduced (PlatformName.WatchOS, 8,0)] #else - [SupportedOSPlatform ("ios15.0")] - [SupportedOSPlatform ("macos12.0")] - #endif //!NET + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("macos12.0")] +#endif //!NET public enum INPersonType { Me = 0, ContactSuggestion = 1, } #if !NET - [Introduced (PlatformName.iOS, 15,0)] - [Introduced (PlatformName.MacOSX, 12,0)] - [Introduced (PlatformName.WatchOS, 8,0)] + [Introduced (PlatformName.iOS, 15,0)] + [Introduced (PlatformName.MacOSX, 12,0)] + [Introduced (PlatformName.WatchOS, 8,0)] #else - [SupportedOSPlatform ("ios15.0")] - [SupportedOSPlatform ("macos12.0")] + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("macos12.0")] #endif //!NET public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameComponents, string? displayName, INImage? image, string? contactIdentifier, string? customIdentifier, bool isMe, INPersonSuggestionType suggestionType) : this (personHandle, nameComponents, displayName, image, contactIdentifier, customIdentifier, isMe, suggestionType, INPersonType.Me) @@ -40,12 +40,12 @@ public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameCompon } #if !NET - [Introduced (PlatformName.iOS, 15,0)] - [Introduced (PlatformName.MacOSX, 12,0)] - [Introduced (PlatformName.WatchOS, 8,0)] + [Introduced (PlatformName.iOS, 15,0)] + [Introduced (PlatformName.MacOSX, 12,0)] + [Introduced (PlatformName.WatchOS, 8,0)] #else - [SupportedOSPlatform ("ios15.0")] - [SupportedOSPlatform ("macos12.0")] + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("macos12.0")] #endif //!NET public INPerson (INPersonHandle personHandle, NSPersonNameComponents? nameComponents, string? displayName, INImage? image, string? contactIdentifier, string? customIdentifier, bool isMe, INPersonSuggestionType suggestionType, INPersonType personType) : base (NSObjectFlag.Empty) { diff --git a/src/intents.cs b/src/intents.cs index cecff7a06af9..8dd130b1642f 100644 --- a/src/intents.cs +++ b/src/intents.cs @@ -6086,67 +6086,64 @@ interface INSearchForPhotosIntentResponse { NSNumber SearchResultsCount { get; set; } } + [Mac (12,0)] [iOS (10, 0)] [Watch (3, 2)] [NoTV] [BaseType (typeof (INIntent))] interface INSendMessageIntent : UNNotificationContentProviding { - [Watch (7,0), Mac (12,0), iOS (14,0)] + [Watch (7,0), iOS (14,0)] [MacCatalyst (14,0)] [Export ("initWithRecipients:outgoingMessageType:content:speakableGroupName:conversationIdentifier:serviceName:sender:attachments:")] [DesignatedInitializer] IntPtr Constructor ([NullAllowed] INPerson[] recipients, INOutgoingMessageType outgoingMessageType, [NullAllowed] string content, [NullAllowed] INSpeakableString speakableGroupName, [NullAllowed] string conversationIdentifier, [NullAllowed] string serviceName, [NullAllowed] INPerson sender, [NullAllowed] INSendMessageAttachment[] attachments); - [Deprecated (PlatformName.MacOSX, 11, 0, message: "Use '.ctor (INPerson[], INOutgoingMessageType, string, INSpeakableString, string, string, INPerson, INSendMessageAttachment[])' instead.")] + [Deprecated (PlatformName.MacOSX, 12, 0, message: "Use '.ctor (INPerson[], INOutgoingMessageType, string, INSpeakableString, string, string, INPerson, INSendMessageAttachment[])' instead.")] [Deprecated (PlatformName.WatchOS, 7, 0, message: "Use '.ctor (INPerson[], INOutgoingMessageType, string, INSpeakableString, string, string, INPerson, INSendMessageAttachment[])' instead.")] [Deprecated (PlatformName.iOS, 14, 0, message: "Use '.ctor (INPerson[], INOutgoingMessageType, string, INSpeakableString, string, string, INPerson, INSendMessageAttachment[])' instead.")] - [Watch (4,0), Mac (10,13), iOS (11,0)] + [Watch (4,0), iOS (11,0)] [Export ("initWithRecipients:content:speakableGroupName:conversationIdentifier:serviceName:sender:")] IntPtr Constructor ([NullAllowed] INPerson [] recipients, [NullAllowed] string content, [NullAllowed] INSpeakableString speakableGroupName, [NullAllowed] string conversationIdentifier, [NullAllowed] string serviceName, [NullAllowed] INPerson sender); - [Deprecated (PlatformName.MacOSX, 10, 13, message: "Use '.ctor (INPerson [], string, INSpeakableString, string, string, INPerson)' instead.")] + [Deprecated (PlatformName.MacOSX, 12, 0, message: "Use '.ctor (INPerson [], string, INSpeakableString, string, string, INPerson)' instead.")] [Deprecated (PlatformName.WatchOS, 4, 0, message: "Use '.ctor (INPerson [], string, INSpeakableString, string, string, INPerson)' instead.")] [Deprecated (PlatformName.iOS, 11, 0, message: "Use '.ctor (INPerson [], string, INSpeakableString, string, string, INPerson)' instead.")] [Export ("initWithRecipients:content:groupName:serviceName:sender:")] IntPtr Constructor ([NullAllowed] INPerson [] recipients, [NullAllowed] string content, [NullAllowed] string groupName, [NullAllowed] string serviceName, [NullAllowed] INPerson sender); - [Mac (12,0)] [NullAllowed, Export ("recipients", ArgumentSemantic.Copy)] INPerson [] Recipients { get; } - [Watch (7,0), Mac (12,0), iOS (14,0)] + [Watch (7,0), iOS (14,0)] [MacCatalyst (14,0)] [Export ("outgoingMessageType", ArgumentSemantic.Assign)] INOutgoingMessageType OutgoingMessageType { get; } - [Mac (12,0)] [NullAllowed, Export ("content")] string Content { get; } - [Watch (4,0), Mac (12,0), iOS (11,0)] + [Watch (4,0), iOS (11,0)] [NullAllowed, Export ("speakableGroupName", ArgumentSemantic.Copy)] INSpeakableString SpeakableGroupName { get; } - [Watch (4,0), Mac (12,0), iOS (11,0)] + [Watch (4,0), iOS (11,0)] [NullAllowed, Export ("conversationIdentifier")] string ConversationIdentifier { get; } - [Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'SpeakableGroupNames' instead.")] + [Deprecated (PlatformName.MacOSX, 12, 0, message: "Use 'SpeakableGroupNames' instead.")] [Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'SpeakableGroupNames' instead.")] [Deprecated (PlatformName.iOS, 11, 0, message: "Use 'SpeakableGroupNames' instead.")] [NullAllowed, Export ("groupName")] string GroupName { get; } - [Mac (12,0)] [NullAllowed, Export ("serviceName")] string ServiceName { get; } - [Mac (12,0)] [NullAllowed, Export ("sender", ArgumentSemantic.Copy)] INPerson Sender { get; } - [Watch (7,0), Mac (12,0), iOS (14,0)] + [Watch (7,0), iOS (14,0)] [MacCatalyst (14,0)] [NullAllowed] [Export ("attachments", ArgumentSemantic.Copy)] @@ -13230,7 +13227,7 @@ interface INStartCallContactResolutionResult { [BaseType (typeof (INIntent))] [DisableDefaultCtor] interface INStartCallIntent : UNNotificationContentProviding { - + [Watch (7,0), NoTV, iOS (14,0)] [MacCatalyst (14,0)] [Export ("initWithCallRecordFilter:callRecordToCallBack:audioRoute:destinationType:contacts:callCapability:")] diff --git a/tests/xtro-sharpie/macOS-Intents.ignore b/tests/xtro-sharpie/macOS-Intents.ignore index f849e77f616e..c7e25fae1b91 100644 --- a/tests/xtro-sharpie/macOS-Intents.ignore +++ b/tests/xtro-sharpie/macOS-Intents.ignore @@ -72,3 +72,7 @@ ## Headers say Mac (12,0) but types used in properties are still NoMac !missing-protocol! INStartCallIntentHandling not bound + +## Headers say NoMac but interface had preexisting Mac availability in Xamarin.iOS +## Adding NoMac would be a breaking change +!unknown-type! INTemperatureResolutionResult bound diff --git a/tests/xtro-sharpie/watchOS-Intents.ignore b/tests/xtro-sharpie/watchOS-Intents.ignore index 4bcf57abd8ed..6cf12c80aa83 100644 --- a/tests/xtro-sharpie/watchOS-Intents.ignore +++ b/tests/xtro-sharpie/watchOS-Intents.ignore @@ -34,3 +34,7 @@ !deprecated-attribute-wrong! INCallRecord::caller has 7.4 not 7.3 on [Deprecated] attribute !deprecated-attribute-wrong! INCallRecord::initWithIdentifier:dateCreated:caller:callRecordType:callCapability:callDuration:unseen: has 7.4 not 7.3 on [Deprecated] attribute !deprecated-attribute-wrong! INCallRecord::initWithIdentifier:dateCreated:caller:callRecordType:callCapability:callDuration:unseen:numberOfCalls: has 7.4 not 7.3 on [Deprecated] attribute + +## Headers say NoWatch but interface had preexisting Mac availability in Xamarin.iOS +## Adding NoWatch would be a breaking change +!unknown-type! INTemperatureResolutionResult bound From fc58ff1b7056c43c4ddd18f130fa6415159c81de Mon Sep 17 00:00:00 2001 From: Rachel Kang Date: Tue, 21 Sep 2021 13:36:49 -0400 Subject: [PATCH 4/4] Update based on feedback --- src/intents.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/intents.cs b/src/intents.cs index 8dd130b1642f..010b95bcbd1a 100644 --- a/src/intents.cs +++ b/src/intents.cs @@ -6957,6 +6957,7 @@ interface INSetSeatSettingsInCarIntentResponse { [Watch (8,0), NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] [BaseType (typeof(INIntent))] + [DisableDefaultCtor] interface INShareFocusStatusIntent { [Export ("initWithFocusStatus:")] @@ -12026,9 +12027,10 @@ interface INFocusStatus : NSCopying, NSSecureCoding { [Export ("initWithIsFocused:")] [DesignatedInitializer] - IntPtr Constructor ([NullAllowed] NSNumber isFocused); + IntPtr Constructor ([NullAllowed] [BindAs (typeof (bool?))] NSNumber isFocused); [Export ("isFocused", ArgumentSemantic.Copy)] + [BindAs (typeof (bool?))] [NullAllowed] NSNumber IsFocused { get; } }