diff --git a/src/fileprovider.cs b/src/fileprovider.cs index 8f206ee3922f..60be01c382ce 100644 --- a/src/fileprovider.cs +++ b/src/fileprovider.cs @@ -304,6 +304,18 @@ public enum NSFileProviderContentPolicy : long { DownloadEagerlyAndKeepDownloaded, } + /// Specifies how the system materializes a file provider folder's namespace. + [Native] + [NoTV, NoMacCatalyst, Mac (27, 0), iOS (27, 0)] + public enum NSFileProviderNamespacePolicy : long { + /// Inherits the namespace policy from the parent folder. + Inherited, + /// Materializes a dataless folder's namespace when the folder is accessed. + MaterializeLazily, + /// Keeps the folder's namespace fully materialized and up to date. + MaterializeEagerly, + } + /// A batch of data to return from an enumerator. [NoMacCatalyst] [Static] @@ -758,6 +770,15 @@ interface NSFileProviderItem { [NoTV, NoMacCatalyst, iOS (16, 0)] [Export ("contentPolicy")] NSFileProviderContentPolicy ContentPolicy { get; } + + /// Gets the policy that controls how the item's namespace is materialized. + [NoTV, NoMacCatalyst, Mac (27, 0), iOS (27, 0)] + [Export ("namespacePolicy")] + NSFileProviderNamespacePolicy NamespacePolicy { + // Keep the generated extension method's availability in sync. + [NoTV, NoMacCatalyst, Mac (27, 0), iOS (27, 0)] + get; + } } /// A shared object that is accessible from both the containing app and the extension. diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-FileProvider.ignore b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-FileProvider.ignore index 48e77adae063..01873d18c3dc 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-FileProvider.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-FileProvider.ignore @@ -1,5 +1,6 @@ # Documentation as of Xcode 13 as macOS only !missing-enum! NSFileProviderFileSystemFlags not bound !missing-enum! NSFileProviderDomainTestingModes not bound -# Header clearly says this enum is not available on Mac Catalyst, not sure why xtro thinks it is. +# Headers explicitly mark these enums unavailable on Mac Catalyst; xtro drops the enum typedef availability. !missing-enum! NSFileProviderContentPolicy not bound +!missing-enum! NSFileProviderNamespacePolicy not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-FileProvider.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-FileProvider.todo deleted file mode 100644 index 66a81419177b..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-FileProvider.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-enum! NSFileProviderNamespacePolicy not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-FileProvider.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-FileProvider.todo deleted file mode 100644 index 23e76739903e..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-FileProvider.todo +++ /dev/null @@ -1,2 +0,0 @@ -!missing-enum! NSFileProviderNamespacePolicy not bound -!missing-protocol-member! NSFileProviderItem::namespacePolicy not found diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-FileProvider.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-FileProvider.todo deleted file mode 100644 index 23e76739903e..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-FileProvider.todo +++ /dev/null @@ -1,2 +0,0 @@ -!missing-enum! NSFileProviderNamespacePolicy not bound -!missing-protocol-member! NSFileProviderItem::namespacePolicy not found