Skip to content

[Accessibility] Implement Xcode 16.2 beta 1-3 changes. #21686

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Dec 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions src/Accessibility/AXFeatureOverrideSessionError.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;
using System.Runtime.Versioning;
using System.Diagnostics.CodeAnalysis;

using Foundation;
using ObjCRuntime;

#if __IOS__ && !__MACCATALYST__

namespace Accessibility {
/// <summary>Extension methods for the <see cref="global::Accessibility.AXFeatureOverrideSessionError" /> enumeration.</summary>
/// <remarks>
/// <para>The extension method for the <see cref="global::Accessibility.AXFeatureOverrideSessionError" /> enumeration can be used to fetch the error domain associated with these error codes.</para>
/// </remarks>
[SupportedOSPlatform ("ios18.2")]
[UnsupportedOSPlatform ("tvos")]
[UnsupportedOSPlatform ("maccatalyst")]
[UnsupportedOSPlatform ("macos")]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
public static partial class AXFeatureOverrideSessionErrorExtensions {
/// <summary>Returns the error domain associated with the <a cref="global::Accessibility.AXFeatureOverrideSessionError" /> value.</summary>
/// <param name="self">The enumeration value</param>
/// <remarks>
/// <para>See the <see cref="global::Foundation.NSError" /> for information on how to use the error domains when reporting errors.</para>
/// </remarks>
public static NSString? GetDomain (this AXFeatureOverrideSessionError self)
{
// This is defined as a constant in the headers.
return (NSString) "AXFeatureOverrideSessionErrorDomain";
}
}
}
#endif // __IOS__ && !__MACCATALYST__
6 changes: 6 additions & 0 deletions src/Accessibility/AXSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ namespace Accessibility {
public enum AXSettingsFeature : long {
/// <summary>Jump to the "Allow Apps to Request to Use" setting in Personal Voice.</summary>
PersonalVoiceAllowAppsToRequestToUse = 1,
/// <summary>Jump to the "Allow Apps to Add Audio to Calls." setting in Personal Voice.</summary>
[SupportedOSPlatform ("ios18.2")]
[SupportedOSPlatform ("maccatalyst18.2")]
[SupportedOSPlatform ("macos15.2")]
[SupportedOSPlatform ("tvos18.2")]
AllowAppsToAddAudioToCalls,
}

public static class AXSettings {
Expand Down
240 changes: 240 additions & 0 deletions src/accessibility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -406,4 +406,244 @@ enum AXTechnology {
[Field ("AXTechnologyZoom")]
Zoom,
}

[iOS (18, 2), NoTV, NoMacCatalyst, NoMac]
[Native]
public enum AXFeatureOverrideSessionError : long {
Undefined = 0,
AppNotEntitled,
OverrideIsAlreadyActive,
OverrideNotFoundForUUID,
}

[iOS (18, 2), NoTV, NoMacCatalyst, NoMac]
[Flags]
[Native]
public enum AXFeatureOverrideSessionOptions : ulong {
Grayscale = 1uL << 0,
InvertColors = 1uL << 1,
VoiceControl = 1uL << 2,
VoiceOver = 1uL << 3,
Zoom = 1uL << 4,
}

[iOS (18, 2), NoTV, NoMacCatalyst, NoMac]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface AXFeatureOverrideSession {
}

[iOS (18, 2), NoTV, NoMacCatalyst, NoMac]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface AXFeatureOverrideSessionManager {
[Static]
[Export ("sharedInstance")]
AXFeatureOverrideSessionManager SharedInstance { get; }

[Export ("beginOverrideSessionEnablingOptions:disablingOptions:error:")]
[return: NullAllowed]
AXFeatureOverrideSession BeginOverrideSession (AXFeatureOverrideSessionOptions enableOptions, AXFeatureOverrideSessionOptions disableOptions, [NullAllowed] out NSError error);

[Export ("endOverrideSession:error:")]
bool EndOverrideSession (AXFeatureOverrideSession session, [NullAllowed] out NSError error);
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface AXMathExpression {
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionNumber {
[Export ("initWithContent:")]
NativeHandle Constructor (string content);

[Export ("content")]
string Content { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionIdentifier {
[Export ("initWithContent:")]
NativeHandle Constructor (string content);

[Export ("content")]
string Content { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionOperator {
[Export ("initWithContent:")]
NativeHandle Constructor (string content);

[Export ("content")]
string Content { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionText {
[Export ("initWithContent:")]
NativeHandle Constructor (string content);

[Export ("content")]
string Content { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionFenced {
[Export ("initWithExpressions:openString:closeString:")]
NativeHandle Constructor (AXMathExpression [] expressions, string openString, string closeString);

[Export ("expressions")]
AXMathExpression [] Expressions { get; }

[Export ("openString")]
string OpenString { get; }

[Export ("closeString")]
string CloseString { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionRow {
[Export ("initWithExpressions:")]
NativeHandle Constructor (AXMathExpression [] expressions);

[Export ("expressions")]
AXMathExpression [] Expressions { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionTable {
[Export ("initWithExpressions:")]
NativeHandle Constructor (AXMathExpression [] expressions);

[Export ("expressions")]
AXMathExpression [] Expressions { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionTableRow {
[Export ("initWithExpressions:")]
NativeHandle Constructor (AXMathExpression [] expressions);

[Export ("expressions")]
AXMathExpression [] Expressions { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionTableCell {
[Export ("initWithExpressions:")]
NativeHandle Constructor (AXMathExpression [] expressions);

[Export ("expressions")]
AXMathExpression [] Expressions { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionUnderOver {
[Export ("initWithBaseExpression:underExpression:overExpression:")]
NativeHandle Constructor (AXMathExpression baseExpression, AXMathExpression underExpression, AXMathExpression overExpression);

[Export ("baseExpression")]
AXMathExpression BaseExpression { get; }

[Export ("underExpression")]
AXMathExpression UnderExpression { get; }

[Export ("overExpression")]
AXMathExpression OverExpression { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionSubSuperscript {
[Export ("initWithBaseExpression:subscriptExpressions:superscriptExpressions:")]
NativeHandle Constructor (AXMathExpression [] baseExpression, AXMathExpression [] subscriptExpressions, AXMathExpression [] superscriptExpressions);

[Export ("baseExpression")]
AXMathExpression BaseExpression { get; }

[Export ("subscriptExpressions")]
AXMathExpression [] SubscriptExpressions { get; }

[Export ("superscriptExpressions")]
AXMathExpression [] SuperscriptExpressions { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionFraction {
[Export ("initWithNumeratorExpression:denimonatorExpression:")]
NativeHandle Constructor (AXMathExpression numeratorExpression, AXMathExpression denimonatorExpression);

[Export ("numeratorExpression")]
AXMathExpression NumeratorExpression { get; }

[Export ("denimonatorExpression")]
AXMathExpression DenimonatorExpression { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionMultiscript {
[Export ("initWithBaseExpression:prescriptExpressions:postscriptExpressions:")]
NativeHandle Constructor (AXMathExpression baseExpression, AXMathExpressionSubSuperscript [] prescriptExpressions, AXMathExpressionSubSuperscript [] postscriptExpressions);

[Export ("baseExpression")]
AXMathExpression BaseExpression { get; }

[Export ("prescriptExpressions")]
AXMathExpressionSubSuperscript [] PrescriptExpressions { get; }

[Export ("postscriptExpressions")]
AXMathExpressionSubSuperscript [] PostscriptExpressions { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[BaseType (typeof (AXMathExpression))]
[DisableDefaultCtor]
interface AXMathExpressionRoot {
[Export ("initWithRadicandExpressions:rootIndexExpression:")]
NativeHandle Constructor (AXMathExpression [] radicandExpressions, AXMathExpression rootIndexExpression);

[Export ("radicandExpressions")]
AXMathExpression [] RadicandExpressions { get; }

[Export ("rootIndexExpression")]
AXMathExpression RootIndexExpression { get; }
}

[TV (18, 2), Mac (15, 2), iOS (18, 2), MacCatalyst (18, 2)]
[Protocol (BackwardsCompatibleCodeGeneration = false)]
interface AXMathExpressionProvider {
[Abstract]
[NullAllowed, Export ("accessibilityMathExpression")]
AXMathExpression AccessibilityMathExpression { get; }
}
}
1 change: 1 addition & 0 deletions src/frameworks.sources
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ ACCELERATE_SOURCES = \
# Accessibility

ACCESSIBILITY_SOURCES = \
Accessibility/AXFeatureOverrideSessionError.cs \
Accessibility/AXHearingUtilities.cs \
Accessibility/AXAnimatedImagesUtilities.cs \
Accessibility/AXPrefers.cs \
Expand Down
18 changes: 18 additions & 0 deletions tests/cecil-tests/Documentation.KnownFailures.txt
Original file line number Diff line number Diff line change
Expand Up @@ -720,6 +720,15 @@ F:Accessibility.AXChartDescriptorContentDirection.RightToLeft
F:Accessibility.AXChartDescriptorContentDirection.TopToBottom
F:Accessibility.AXCustomContentImportance.Default
F:Accessibility.AXCustomContentImportance.High
F:Accessibility.AXFeatureOverrideSessionError.AppNotEntitled
F:Accessibility.AXFeatureOverrideSessionError.OverrideIsAlreadyActive
F:Accessibility.AXFeatureOverrideSessionError.OverrideNotFoundForUUID
F:Accessibility.AXFeatureOverrideSessionError.Undefined
F:Accessibility.AXFeatureOverrideSessionOptions.Grayscale
F:Accessibility.AXFeatureOverrideSessionOptions.InvertColors
F:Accessibility.AXFeatureOverrideSessionOptions.VoiceControl
F:Accessibility.AXFeatureOverrideSessionOptions.VoiceOver
F:Accessibility.AXFeatureOverrideSessionOptions.Zoom
F:Accessibility.AXHearingDeviceEar.Both
F:Accessibility.AXHearingDeviceEar.Left
F:Accessibility.AXHearingDeviceEar.None
Expand Down Expand Up @@ -21880,6 +21889,8 @@ M:Accessibility.AXCustomContentProvider_Extensions.SetAccessibilityCustomContent
M:Accessibility.AXDataPoint.Copy(Foundation.NSZone)
M:Accessibility.AXDataPointValue.Copy(Foundation.NSZone)
M:Accessibility.AXDataSeriesDescriptor.Copy(Foundation.NSZone)
M:Accessibility.AXFeatureOverrideSessionManager.BeginOverrideSession(Accessibility.AXFeatureOverrideSessionOptions,Accessibility.AXFeatureOverrideSessionOptions,Foundation.NSError@)
M:Accessibility.AXFeatureOverrideSessionManager.EndOverrideSession(Accessibility.AXFeatureOverrideSession,Foundation.NSError@)
M:Accessibility.AXHearingUtilities.AXSupportsBidirectionalAXMFiHearingDeviceStreaming
M:Accessibility.AXHearingUtilities.GetMFiHearingDevicePairedUuids
M:Accessibility.AXHearingUtilities.GetMFiHearingDeviceStreamingEar
Expand Down Expand Up @@ -48098,6 +48109,7 @@ P:Accelerate.vImageBuffer.Height
P:Accelerate.vImageBuffer.Width
P:Accessibility.AXAnimatedImagesUtilities.AnimatedImagesEnabledDidChangeNotification
P:Accessibility.AXAnimatedImagesUtilities.Enabled
P:Accessibility.AXFeatureOverrideSessionManager.SharedInstance
P:Accessibility.AXHearingUtilities.PairedUUIDsDidChangeNotification
P:Accessibility.AXHearingUtilities.StreamingEarDidChangeNotification
P:Accessibility.AXPrefers.HorizontalTextLayoutDidChangeNotification
Expand All @@ -48109,6 +48121,7 @@ P:Accessibility.IAXCustomContentProvider.AccessibilityCustomContent
P:Accessibility.IAXCustomContentProvider.AccessibilityCustomContentHandler
P:Accessibility.IAXDataAxisDescriptor.AttributedTitle
P:Accessibility.IAXDataAxisDescriptor.Title
P:Accessibility.IAXMathExpressionProvider.AccessibilityMathExpression
P:Accounts.ACAccountStore.ChangeNotification
P:Accounts.ACAccountType.Facebook
P:Accounts.ACAccountType.LinkedIn
Expand Down Expand Up @@ -69782,6 +69795,10 @@ T:Accelerate.vImageMDTableUsageHint
T:Accessibility.AXAnimatedImagesUtilities
T:Accessibility.AXChartDescriptorContentDirection
T:Accessibility.AXCustomContentImportance
T:Accessibility.AXFeatureOverrideSession
T:Accessibility.AXFeatureOverrideSessionError
T:Accessibility.AXFeatureOverrideSessionManager
T:Accessibility.AXFeatureOverrideSessionOptions
T:Accessibility.AXHearingDeviceEar
T:Accessibility.AXHearingUtilities
T:Accessibility.AXNumericDataAxisDescriptorScale
Expand All @@ -69793,6 +69810,7 @@ T:Accessibility.IAXBrailleMapRenderer
T:Accessibility.IAXChart
T:Accessibility.IAXCustomContentProvider
T:Accessibility.IAXDataAxisDescriptor
T:Accessibility.IAXMathExpressionProvider
T:Accessibility.ValueDescriptionProviderHandler
T:AccessorySetupKit.ASAccessoryEventType
T:AccessorySetupKit.ASAccessoryRenameOptions
Expand Down
Loading