diff --git a/src/CoreTelephony/CTEnums.cs b/src/CoreTelephony/CTEnums.cs index 1941de4ae1aa..663a6842d4dd 100644 --- a/src/CoreTelephony/CTEnums.cs +++ b/src/CoreTelephony/CTEnums.cs @@ -18,7 +18,7 @@ public enum CTErrorDomain { } /// Enumerates data restrictions for . - [NoMacCatalyst] + [MacCatalyst (13, 1)] [Native] public enum CTCellularDataRestrictedState : ulong { /// To be added. @@ -29,7 +29,7 @@ public enum CTCellularDataRestrictedState : ulong { NotRestricted, } - [NoMacCatalyst] + [MacCatalyst (13, 1)] [Native] public enum CTCellularPlanProvisioningAddPlanResult : long { /// To be added. diff --git a/src/coretelephony.cs b/src/coretelephony.cs index efd4a1a62ee2..87f272b3dbb7 100644 --- a/src/coretelephony.cs +++ b/src/coretelephony.cs @@ -3,6 +3,14 @@ using System; namespace CoreTelephony { + + [iOS (26, 0), Mac (26, 0), MacCatalyst (26, 0)] + [Native] + public enum CTCellularPlanCapability : long { + Only, + AndVoice, + } + /// Encapsulates a unique identifier for a call and it's state. /// /// Apple documentation for CTCall @@ -26,7 +34,7 @@ interface CTCall { } /// Apple documentation for CTCellularData - [NoMacCatalyst] + [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface CTCellularData { /// To be added. @@ -385,7 +393,7 @@ partial interface CTSubscriberInfo { CTSubscriber [] Subscribers { get; } } - [NoMacCatalyst] + [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface CTCellularPlanProvisioningRequest : NSSecureCoding { /// To be added. @@ -425,7 +433,7 @@ interface CTCellularPlanProvisioningRequest : NSSecureCoding { string Eid { get; set; } } - [NoMacCatalyst] + [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface CTCellularPlanProvisioning { /// To be added. @@ -447,8 +455,51 @@ interface CTCellularPlanProvisioning { [Export ("addPlanWith:completionHandler:")] void AddPlan (CTCellularPlanProvisioningRequest request, Action completionHandler); - [iOS (16, 0)] + [iOS (16, 0), MacCatalyst (16, 0)] [Export ("supportsEmbeddedSIM")] bool SupportsEmbeddedSim { get; } + + [Async] + [NoTV, NoMac, iOS (26, 0), MacCatalyst (26, 0)] + [Export ("addPlanWithRequest:properties:completionHandler:")] + void AddPlan (CTCellularPlanProvisioningRequest request, [NullAllowed] CTCellularPlanProperties properties, CTCellularPlanProvisioningAddPlanCompletionHandler completionHandler); + + [Async] + [NoTV, NoMac, iOS (26, 0), MacCatalyst (26, 0)] + [Export ("updateCellularPlanProperties:completionHandler:")] + void UpdateCellularPlan (CTCellularPlanProperties properties, CTCellularPlanProvisioningUpdateCellularPlanCompletionHandler completionHandler); } + + delegate void CTCellularPlanProvisioningAddPlanCompletionHandler (CTCellularPlanProvisioningAddPlanResult result); + delegate void CTCellularPlanProvisioningUpdateCellularPlanCompletionHandler ([NullAllowed] NSError error); + + [NoTV, NoMac, iOS (26, 0), MacCatalyst (26, 0)] + [BaseType (typeof (NSObject))] + interface CTCellularPlanProperties : NSSecureCoding { + [NullAllowed, Export ("associatedIccid")] + string AssociatedIccid { get; set; } + + [Export ("simCapability", ArgumentSemantic.Assign)] + CTCellularPlanCapability SimCapability { get; set; } + + [Export ("supportedRegionCodes", ArgumentSemantic.Assign)] + string [] SupportedRegionCodes { get; set; } + } + + [iOS (26, 0), MacCatalyst (26, 0), NoTV, NoMac] + [BaseType (typeof (NSObject))] + interface CTCellularPlanStatus { + [Async] + [Static] + [Export ("getTokenWithCompletion:")] + void GetToken (CTCellularPlanStatusGetTokenCompletionHandler completionHandler); + + [Async] + [Static] + [Export ("checkValidityOfToken:completionHandler:")] + void CheckValidity (string token, CTCellularPlanStatusCheckValidityCompletionHandler completionHandler); + } + + delegate void CTCellularPlanStatusGetTokenCompletionHandler ([NullAllowed] string token, [NullAllowed] NSError error); + delegate void CTCellularPlanStatusCheckValidityCompletionHandler (bool isValid, [NullAllowed] NSError error); } diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index 4c2a0ad4facf..107318423616 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -2402,6 +2402,8 @@ F:CoreSpotlight.CSSuggestionKind.None F:CoreSpotlight.CSUserInteraction.Default F:CoreSpotlight.CSUserInteraction.Focus F:CoreSpotlight.CSUserInteraction.Select +F:CoreTelephony.CTCellularPlanCapability.AndVoice +F:CoreTelephony.CTCellularPlanCapability.Only F:CoreTelephony.CTCellularPlanProvisioningAddPlanResult.Cancel F:CoreText.CTFontManagerError.AssetNotFound F:CoreText.CTFontManagerError.CancelledByUser @@ -10443,6 +10445,14 @@ M:CoreSpotlight.CSUserQuery.UserEngaged(CoreSpotlight.CSSuggestion,CoreSpotlight M:CoreSpotlight.CSUserQueryContext.Create(CoreSpotlight.CSSuggestion) M:CoreSpotlight.ICSSearchableIndexDelegate.DidUpdate(CoreSpotlight.CSSearchableItem[]) M:CoreSpotlight.ICSSearchableIndexDelegate.GetSearchableItems(System.String[],CoreSpotlight.CSSearchableIndexDelegateGetSearchableItemsHandler) +M:CoreTelephony.CTCellularPlanProvisioning.AddPlan(CoreTelephony.CTCellularPlanProvisioningRequest,CoreTelephony.CTCellularPlanProperties,CoreTelephony.CTCellularPlanProvisioningAddPlanCompletionHandler) +M:CoreTelephony.CTCellularPlanProvisioning.AddPlanAsync(CoreTelephony.CTCellularPlanProvisioningRequest,CoreTelephony.CTCellularPlanProperties) +M:CoreTelephony.CTCellularPlanProvisioning.UpdateCellularPlan(CoreTelephony.CTCellularPlanProperties,CoreTelephony.CTCellularPlanProvisioningUpdateCellularPlanCompletionHandler) +M:CoreTelephony.CTCellularPlanProvisioning.UpdateCellularPlanAsync(CoreTelephony.CTCellularPlanProperties) +M:CoreTelephony.CTCellularPlanStatus.CheckValidity(System.String,CoreTelephony.CTCellularPlanStatusCheckValidityCompletionHandler) +M:CoreTelephony.CTCellularPlanStatus.CheckValidityAsync(System.String) +M:CoreTelephony.CTCellularPlanStatus.GetToken(CoreTelephony.CTCellularPlanStatusGetTokenCompletionHandler) +M:CoreTelephony.CTCellularPlanStatus.GetTokenAsync M:CoreTelephony.CTSubscriber.Dispose(System.Boolean) M:CoreTelephony.CTSubscriber.RefreshCarrierToken M:CoreTelephony.CTTelephonyNetworkInfo.Dispose(System.Boolean) @@ -19888,6 +19898,9 @@ P:CoreSpotlight.CSUserQueryContext.MaxRankedResultCount P:CoreSpotlight.CSUserQueryContext.MaxResultCount P:CoreSpotlight.CSUserQueryContext.MaxSuggestionCount P:CoreSpotlight.CSUserQueryContext.UserQueryContext +P:CoreTelephony.CTCellularPlanProperties.AssociatedIccid +P:CoreTelephony.CTCellularPlanProperties.SimCapability +P:CoreTelephony.CTCellularPlanProperties.SupportedRegionCodes P:CoreTelephony.CTCellularPlanProvisioning.SupportsEmbeddedSim P:CoreTelephony.CTSubscriber.IsSimInserted P:CoreTelephony.CTTelephonyNetworkInfo.DataServiceIdentifier @@ -26359,9 +26372,16 @@ T:CoreSpotlight.CSSuggestionKind T:CoreSpotlight.CSUserInteraction T:CoreSpotlight.CSUserQuery T:CoreSpotlight.CSUserQueryContext +T:CoreTelephony.CTCellularPlanCapability +T:CoreTelephony.CTCellularPlanProperties T:CoreTelephony.CTCellularPlanProvisioning +T:CoreTelephony.CTCellularPlanProvisioningAddPlanCompletionHandler T:CoreTelephony.CTCellularPlanProvisioningAddPlanResult T:CoreTelephony.CTCellularPlanProvisioningRequest +T:CoreTelephony.CTCellularPlanProvisioningUpdateCellularPlanCompletionHandler +T:CoreTelephony.CTCellularPlanStatus +T:CoreTelephony.CTCellularPlanStatusCheckValidityCompletionHandler +T:CoreTelephony.CTCellularPlanStatusGetTokenCompletionHandler T:CoreTelephony.CTTelephonyNetworkInfoDelegate T:CoreTelephony.ICTSubscriberDelegate T:CoreTelephony.ICTTelephonyNetworkInfoDelegate diff --git a/tests/xtro-sharpie/Makefile b/tests/xtro-sharpie/Makefile index 46ec88dd4aab..36c5ab11b972 100644 --- a/tests/xtro-sharpie/Makefile +++ b/tests/xtro-sharpie/Makefile @@ -40,12 +40,17 @@ $(XTRO_SANITY): $(wildcard xtro-sanity/*.cs) $(wildcard xtro-sanity/*.csproj) $( CORETELEPHONY_HEADERS = \ -i CoreTelephony/CoreTelephonyDefines.h \ - -i CoreTelephony/CTCarrier.h \ -i CoreTelephony/CTCall.h \ -i CoreTelephony/CTCallCenter.h \ - -i CoreTelephony/CTTelephonyNetworkInfo.h \ + -i CoreTelephony/CTCarrier.h \ + -i CoreTelephony/CTCellularData.h \ + -i CoreTelephony/CTCellularPlanProperties.h \ + -i CoreTelephony/CTCellularPlanProvisioning.h \ + -i CoreTelephony/CTCellularPlanProvisioningRequest.h \ + -i CoreTelephony/CTCellularPlanStatus.h \ -i CoreTelephony/CTSubscriber.h \ -i CoreTelephony/CTSubscriberInfo.h \ + -i CoreTelephony/CTTelephonyNetworkInfo.h \ SWIFT_FRAMEWORKS = \ CoreTransferable \ diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreTelephony.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreTelephony.todo deleted file mode 100644 index b90c74477aab..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreTelephony.todo +++ /dev/null @@ -1,5 +0,0 @@ -!unknown-native-enum! CTCellularDataRestrictedState bound -!unknown-native-enum! CTCellularPlanProvisioningAddPlanResult bound -!unknown-type! CTCellularData bound -!unknown-type! CTCellularPlanProvisioning bound -!unknown-type! CTCellularPlanProvisioningRequest bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-CoreTelephony.ignore b/tests/xtro-sharpie/api-annotations-dotnet/macOS-CoreTelephony.ignore new file mode 100644 index 000000000000..6276b6d40163 --- /dev/null +++ b/tests/xtro-sharpie/api-annotations-dotnet/macOS-CoreTelephony.ignore @@ -0,0 +1,4 @@ +# CoreTelephony doesn't make much sense on macOS, so we're not exposing it. +!missing-enum! CTCellularDataRestrictedState not bound +!missing-enum! CTCellularPlanCapability not bound +!missing-enum! CTCellularPlanProvisioningAddPlanResult not bound