Skip to content
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
83 changes: 33 additions & 50 deletions src/fskit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -848,7 +848,7 @@ interface FSStatFSResult : INSSecureCoding {
#endif
[Mac (15, 4)]
[Protocol (BackwardsCompatibleCodeGeneration = false)]
interface FSVolumeOperations : FSVolumePathConfOperations {
interface FSVolumeCommonOperations {
Comment thread
dalexsoto marked this conversation as resolved.
Resolved
[Abstract]
[Export ("supportedVolumeCapabilities")]
FSVolumeSupportedCapabilities SupportedVolumeCapabilities { get; }
Expand All @@ -857,6 +857,16 @@ interface FSVolumeOperations : FSVolumePathConfOperations {
[Export ("volumeStatistics")]
FSStatFSResult VolumeStatistics { get; }

[Mac (26, 0)]
[Export ("enableOpenUnlinkEmulation")]
bool EnableOpenUnlinkEmulation { get; }

/// <summary>Gets the mount options that the file system requests from FSKit.</summary>
/// <remarks>FSKit reads this value after the volume replies to the <see cref="M:FSKit.IFSVolumeCommonOperations.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeOperationsMountHandler)" /> call. Changing the returned value during the runtime of the volume has no effect.</remarks>
[Mac (26, 4)]
[Export ("requestedMountOptions", ArgumentSemantic.Assign)]
FSMountOptions RequestedMountOptions { get; }

[Abstract]
[Export ("mountWithOptions:replyHandler:")]
void Mount (FSTaskOptions options, FSVolumeOperationsMountHandler reply);
Expand All @@ -869,6 +879,17 @@ interface FSVolumeOperations : FSVolumePathConfOperations {
[Export ("synchronizeWithFlags:replyHandler:")]
void Synchronize (FSSyncFlags flags, FSVolumeOperationsSynchronizeHandler reply);

[Abstract]
[Export ("reclaimItem:replyHandler:")]
void Reclaim (FSItem item, FSVolumeOperationsReclaimHandler reply);
}

#if !STABLE_FSKIT
[Experimental ("APL0002")]
#endif
[Mac (15, 4)]
[Protocol (BackwardsCompatibleCodeGeneration = false)]
interface FSVolumeOperations : FSVolumeCommonOperations, FSVolumePathConfOperations {
[Abstract]
[Export ("getAttributes:ofItem:replyHandler:")]
void GetAttributes (FSItemGetAttributesRequest desiredAttributes, FSItem item, FSVolumeOperationsAttributesHandler reply);
Expand All @@ -881,10 +902,6 @@ interface FSVolumeOperations : FSVolumePathConfOperations {
[Export ("lookupItemNamed:inDirectory:replyHandler:")]
void LookupItem (FSFileName name, FSItem directory, FSVolumeOperationsLookupItemHandler reply);

[Abstract]
[Export ("reclaimItem:replyHandler:")]
void Reclaim (FSItem item, FSVolumeOperationsReclaimHandler reply);

[Abstract]
[Export ("readSymbolicLink:replyHandler:")]
void ReadSymbolicLink (FSItem item, FSVolumeOperationsReadSymbolicLinkHandler reply);
Expand Down Expand Up @@ -920,16 +937,6 @@ interface FSVolumeOperations : FSVolumePathConfOperations {
[Abstract]
[Export ("deactivateWithOptions:replyHandler:")]
void Deactivate (FSDeactivateOptions options, FSVolumeOperationsDeactivateHandler reply);

[Mac (26, 0)]
[Export ("enableOpenUnlinkEmulation")]
bool EnableOpenUnlinkEmulation { get; set; }

/// <summary>Gets or sets the mount options that the file system requests from FSKit.</summary>
/// <remarks>FSKit reads this value after the volume replies to the <see cref="M:FSKit.IFSVolumeOperations.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeOperationsMountHandler)" /> call. Changing the returned value during the runtime of the volume has no effect.</remarks>
[Mac (26, 0)]
[Export ("requestedMountOptions", ArgumentSemantic.Assign)]
FSMountOptions RequestedMountOptions { get; set; }
}

#if !STABLE_FSKIT
Expand Down Expand Up @@ -1283,11 +1290,11 @@ public enum FSSyncFlags : long {
DWait = 4,
}

/// <summary>Mount options to be requested from FSKit using the <see cref="IFSVolumeOperations.RequestedMountOptions" /> property.</summary>
/// <summary>Mount options to be requested from FSKit using the <see cref="IFSVolumeCommonOperations.RequestedMountOptions" /> property.</summary>
#if !STABLE_FSKIT
[Experimental ("APL0002")]
#endif
[Mac (26, 0)]
[Mac (26, 4)]
[Flags]
[Native]
public enum FSMountOptions : ulong {
Expand Down Expand Up @@ -2076,30 +2083,12 @@ interface FSUpgradeItemResult {
[Mac (27, 0)]
delegate void FSVolumeHandlerDeactivateHandler ([NullAllowed] NSError error);

#if !STABLE_FSKIT
[Experimental ("APL0002")]
#endif
[Mac (27, 0)]
delegate void FSVolumeHandlerMountHandler ([NullAllowed] NSError error);

#if !STABLE_FSKIT
[Experimental ("APL0002")]
#endif
[Mac (27, 0)]
delegate void FSVolumeHandlerSynchronizeHandler ([NullAllowed] NSError error);

#if !STABLE_FSKIT
[Experimental ("APL0002")]
#endif
[Mac (27, 0)]
delegate void FSVolumeHandlerLookupItemHandler ([NullAllowed] FSLookupItemResult result, [NullAllowed] NSError error);

#if !STABLE_FSKIT
[Experimental ("APL0002")]
#endif
[Mac (27, 0)]
delegate void FSVolumeHandlerReclaimHandler ([NullAllowed] NSError error);

#if !STABLE_FSKIT
[Experimental ("APL0002")]
#endif
Expand Down Expand Up @@ -2159,48 +2148,42 @@ interface FSUpgradeItemResult {
#endif
[Mac (27, 0)]
[Protocol (BackwardsCompatibleCodeGeneration = false)]
interface FSVolumeHandler : FSVolumePathConfOperations {
interface FSVolumeHandler : FSVolumeCommonOperations, FSVolumePathConfOperations {
[Abstract]
[Export ("supportedVolumeCapabilities")]
FSVolumeSupportedCapabilities SupportedVolumeCapabilities { get; }
new FSVolumeSupportedCapabilities SupportedVolumeCapabilities { get; }

[Abstract]
[Export ("volumeStatistics")]
FSStatFSResult VolumeStatistics { get; }

[Export ("enableOpenUnlinkEmulation")]
bool EnableOpenUnlinkEmulation { get; }

[Export ("requestedMountOptions", ArgumentSemantic.Assign)]
FSMountOptions RequestedMountOptions { get; }
new FSStatFSResult VolumeStatistics { get; }

[Abstract]
[Export ("activateWithOptions:replyHandler:")]
[Export ("activateVolumeWithOptions:replyHandler:")]
void Activate (FSTaskOptions options, FSVolumeHandlerActivateHandler reply);

[Abstract]
[Export ("deactivateWithOptions:replyHandler:")]
[Export ("deactivateVolumeWithOptions:replyHandler:")]
void Deactivate (FSDeactivateOptions options, FSVolumeHandlerDeactivateHandler reply);

[Abstract]
[Export ("mountWithOptions:replyHandler:")]
void Mount (FSTaskOptions options, FSVolumeHandlerMountHandler reply);
new void Mount (FSTaskOptions options, FSVolumeOperationsMountHandler reply);

[Abstract]
[Export ("unmountWithReplyHandler:")]
void Unmount (Action reply);
new void Unmount (Action reply);

[Abstract]
[Export ("synchronizeWithFlags:replyHandler:")]
void Synchronize (FSSyncFlags flags, FSVolumeHandlerSynchronizeHandler reply);
new void Synchronize (FSSyncFlags flags, FSVolumeOperationsSynchronizeHandler reply);

[Abstract]
[Export ("lookupItemNamed:inDirectory:context:replyHandler:")]
void LookupItem (FSFileName name, FSItem directory, FSContext context, FSVolumeHandlerLookupItemHandler reply);

[Abstract]
[Export ("reclaimItem:replyHandler:")]
void Reclaim (FSItem item, FSVolumeHandlerReclaimHandler reply);
new void Reclaim (FSItem item, FSVolumeOperationsReclaimHandler reply);

[Abstract]
[Export ("createItemNamed:type:inDirectory:attributes:context:replyHandler:")]
Expand Down
25 changes: 10 additions & 15 deletions tests/cecil-tests/Documentation.KnownFailures.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18303,6 +18303,10 @@ M:FSKit.IFSUnaryFileSystemOperations.ProbeResource(FSKit.FSResource,FSKit.FSUnar
M:FSKit.IFSUnaryFileSystemOperations.UnloadResource(FSKit.FSResource,FSKit.FSTaskOptions,FSKit.FSUnaryFileSystemOperationsUnloadResourceResult)
M:FSKit.IFSVolumeAccessCheckHandler.RequestedAccess(FSKit.FSItem,FSKit.FSAccessMask,FSKit.FSContext,FSKit.FSVolumeAccessCheckHandlerCheckAccessHandler)
M:FSKit.IFSVolumeAccessCheckOperations.RequestedAccess(FSKit.FSItem,FSKit.FSAccessMask,FSKit.FSVolumeAccessCheckOperationsCheckAccessHandler)
M:FSKit.IFSVolumeCommonOperations.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeOperationsMountHandler)
M:FSKit.IFSVolumeCommonOperations.Reclaim(FSKit.FSItem,FSKit.FSVolumeOperationsReclaimHandler)
M:FSKit.IFSVolumeCommonOperations.Synchronize(FSKit.FSSyncFlags,FSKit.FSVolumeOperationsSynchronizeHandler)
M:FSKit.IFSVolumeCommonOperations.Unmount(System.Action)
M:FSKit.IFSVolumeDataCacheHandler.CloseItem(FSKit.FSItem,FSKit.FSContext,System.Action)
M:FSKit.IFSVolumeDataCacheHandler.OpenItem(FSKit.FSItem,FSKit.FSVolumeOpenModes,FSKit.FSDataCacheMode,FSKit.FSContext,FSKit.FSVolumeDataCacheHandlerOpenItemHandler)
M:FSKit.IFSVolumeDataCacheHandler.UpgradeItem(FSKit.FSItem,FSKit.FSDataCacheMode,FSKit.FSContext,FSKit.FSVolumeDataCacheHandlerUpgradeItemHandler)
Expand All @@ -18314,13 +18318,13 @@ M:FSKit.IFSVolumeHandler.Deactivate(FSKit.FSDeactivateOptions,FSKit.FSVolumeHand
M:FSKit.IFSVolumeHandler.EnumerateDirectory(FSKit.FSItem,System.UInt64,System.UInt64,FSKit.FSItemGetAttributesRequest,FSKit.FSDirectoryEntryPacker,FSKit.FSContext,FSKit.FSVolumeHandlerEnumerateDirectoryHandler)
M:FSKit.IFSVolumeHandler.GetAttributes(FSKit.FSItemGetAttributesRequest,FSKit.FSItem,FSKit.FSContext,FSKit.FSVolumeHandlerGetAttributesHandler)
M:FSKit.IFSVolumeHandler.LookupItem(FSKit.FSFileName,FSKit.FSItem,FSKit.FSContext,FSKit.FSVolumeHandlerLookupItemHandler)
M:FSKit.IFSVolumeHandler.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeHandlerMountHandler)
M:FSKit.IFSVolumeHandler.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeOperationsMountHandler)
M:FSKit.IFSVolumeHandler.ReadSymbolicLink(FSKit.FSItem,FSKit.FSContext,FSKit.FSVolumeHandlerReadSymbolicLinkHandler)
M:FSKit.IFSVolumeHandler.Reclaim(FSKit.FSItem,FSKit.FSVolumeHandlerReclaimHandler)
M:FSKit.IFSVolumeHandler.Reclaim(FSKit.FSItem,FSKit.FSVolumeOperationsReclaimHandler)
M:FSKit.IFSVolumeHandler.RemoveItem(FSKit.FSItem,FSKit.FSFileName,FSKit.FSItem,FSKit.FSContext,FSKit.FSVolumeHandlerRemoveItemHandler)
M:FSKit.IFSVolumeHandler.RenameItem(FSKit.FSItem,FSKit.FSItem,FSKit.FSFileName,FSKit.FSFileName,FSKit.FSItem,FSKit.FSItem,FSKit.FSContext,FSKit.FSVolumeHandlerRenameItemHandler)
M:FSKit.IFSVolumeHandler.SetAttributes(FSKit.FSItemSetAttributesRequest,FSKit.FSItem,FSKit.FSContext,FSKit.FSVolumeHandlerSetAttributesHandler)
M:FSKit.IFSVolumeHandler.Synchronize(FSKit.FSSyncFlags,FSKit.FSVolumeHandlerSynchronizeHandler)
M:FSKit.IFSVolumeHandler.Synchronize(FSKit.FSSyncFlags,FSKit.FSVolumeOperationsSynchronizeHandler)
M:FSKit.IFSVolumeHandler.Unmount(System.Action)
M:FSKit.IFSVolumeItemDeactivation.DeactivateItem(FSKit.FSItem,FSKit.FSVolumeItemDeactivationDeactivateItemHandler)
M:FSKit.IFSVolumeItemDeactivationHandler.DeactivateItem(FSKit.FSItem,FSKit.FSContext,FSKit.FSVolumeItemDeactivationHandlerDeactivateItemHandler)
Expand All @@ -18346,14 +18350,10 @@ M:FSKit.IFSVolumeOperations.Deactivate(FSKit.FSDeactivateOptions,FSKit.FSVolumeO
M:FSKit.IFSVolumeOperations.EnumerateDirectory(FSKit.FSItem,System.UInt64,System.UInt64,FSKit.FSItemGetAttributesRequest,FSKit.FSDirectoryEntryPacker,FSKit.FSVolumeOperationsEnumerateDirectoryHandler)
M:FSKit.IFSVolumeOperations.GetAttributes(FSKit.FSItemGetAttributesRequest,FSKit.FSItem,FSKit.FSVolumeOperationsAttributesHandler)
M:FSKit.IFSVolumeOperations.LookupItem(FSKit.FSFileName,FSKit.FSItem,FSKit.FSVolumeOperationsLookupItemHandler)
M:FSKit.IFSVolumeOperations.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeOperationsMountHandler)
M:FSKit.IFSVolumeOperations.ReadSymbolicLink(FSKit.FSItem,FSKit.FSVolumeOperationsReadSymbolicLinkHandler)
M:FSKit.IFSVolumeOperations.Reclaim(FSKit.FSItem,FSKit.FSVolumeOperationsReclaimHandler)
M:FSKit.IFSVolumeOperations.RemoveItem(FSKit.FSItem,FSKit.FSFileName,FSKit.FSItem,FSKit.FSVolumeOperationsRemoveItemHandler)
M:FSKit.IFSVolumeOperations.RenameItem(FSKit.FSItem,FSKit.FSItem,FSKit.FSFileName,FSKit.FSFileName,FSKit.FSItem,FSKit.FSItem,FSKit.FSVolumeOperationsRenameItemHandler)
M:FSKit.IFSVolumeOperations.SetAttributes(FSKit.FSItemSetAttributesRequest,FSKit.FSItem,FSKit.FSVolumeOperationsAttributesHandler)
M:FSKit.IFSVolumeOperations.Synchronize(FSKit.FSSyncFlags,FSKit.FSVolumeOperationsSynchronizeHandler)
M:FSKit.IFSVolumeOperations.Unmount(System.Action)
M:FSKit.IFSVolumePreallocateHandler.PreallocateSpace(FSKit.FSItem,System.Int64,System.UIntPtr,FSKit.FSPreallocateFlags,FSKit.FSContext,FSKit.FSVolumePreallocateHandlerPreallocateSpaceHandler)
M:FSKit.IFSVolumePreallocateOperations.PreallocateSpace(FSKit.FSItem,System.Int64,System.UIntPtr,FSKit.FSPreallocateFlags,FSKit.FSVolumePreallocateOperationsHandler)
M:FSKit.IFSVolumeReadWriteHandler.Read(FSKit.FSItem,System.Int64,System.UIntPtr,FSKit.FSMutableFileDataBuffer,FSKit.FSVolumeReadWriteHandlerReadHandler)
Expand Down Expand Up @@ -40981,18 +40981,16 @@ P:FSKit.FSWriteFileResult.RequestedAttributes
P:FSKit.IFSFileSystemBase.ContainerStatus
P:FSKit.IFSVolumeAccessCheckHandler.IsAccessCheckInhibited
P:FSKit.IFSVolumeAccessCheckOperations.IsAccessCheckInhibited
P:FSKit.IFSVolumeCommonOperations.EnableOpenUnlinkEmulation
P:FSKit.IFSVolumeCommonOperations.SupportedVolumeCapabilities
P:FSKit.IFSVolumeCommonOperations.VolumeStatistics
P:FSKit.IFSVolumeDataCacheHandler.IsDataCacheInhibited
P:FSKit.IFSVolumeHandler.EnableOpenUnlinkEmulation
P:FSKit.IFSVolumeHandler.RequestedMountOptions
P:FSKit.IFSVolumeHandler.SupportedVolumeCapabilities
P:FSKit.IFSVolumeHandler.VolumeStatistics
P:FSKit.IFSVolumeItemDeactivation.ItemDeactivationPolicy
P:FSKit.IFSVolumeItemDeactivationHandler.ItemDeactivationPolicy
P:FSKit.IFSVolumeOpenCloseHandler.IsOpenCloseInhibited
P:FSKit.IFSVolumeOpenCloseOperations.IsOpenCloseInhibited
P:FSKit.IFSVolumeOperations.EnableOpenUnlinkEmulation
P:FSKit.IFSVolumeOperations.SupportedVolumeCapabilities
P:FSKit.IFSVolumeOperations.VolumeStatistics
P:FSKit.IFSVolumePathConfOperations.MaximumFileSize
P:FSKit.IFSVolumePathConfOperations.MaximumFileSizeInBits
P:FSKit.IFSVolumePathConfOperations.MaximumLinkCount
Expand Down Expand Up @@ -57153,14 +57151,11 @@ T:FSKit.FSVolumeHandlerDeactivateHandler
T:FSKit.FSVolumeHandlerEnumerateDirectoryHandler
T:FSKit.FSVolumeHandlerGetAttributesHandler
T:FSKit.FSVolumeHandlerLookupItemHandler
T:FSKit.FSVolumeHandlerMountHandler
T:FSKit.FSVolumeHandlerReadSymbolicLinkHandler
T:FSKit.FSVolumeHandlerReclaimHandler
T:FSKit.FSVolumeHandlerRemoveItemHandler
T:FSKit.FSVolumeHandlerRenameItemHandler
T:FSKit.FSVolumeHandlerResult
T:FSKit.FSVolumeHandlerSetAttributesHandler
T:FSKit.FSVolumeHandlerSynchronizeHandler
T:FSKit.FSVolumeIdentifier
T:FSKit.FSVolumeItemDeactivationDeactivateItemHandler
T:FSKit.FSVolumeItemDeactivationHandlerDeactivateItemHandler
Expand Down
17 changes: 0 additions & 17 deletions tests/xtro-sharpie/api-annotations-dotnet/macOS-FSKit.todo

This file was deleted.

23 changes: 23 additions & 0 deletions tools/apidiff/suppression-files/macOS.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- FSKit is preview API, and these suppressions cover preview-only removals.
Left and Right are intentionally omitted so they apply to both stable and PR-to-base comparisons.
Re-edit output from 'make regenerate-suppression-files' to preserve this before committing. -->
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:FSKit.FSVolumeHandlerMountHandler</Target>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:FSKit.FSVolumeHandlerReclaimHandler</Target>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:FSKit.FSVolumeHandlerSynchronizeHandler</Target>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:FSKit.IFSVolumeOperations.set_EnableOpenUnlinkEmulation(System.Boolean)</Target>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:FSKit.IFSVolumeOperations.set_RequestedMountOptions(FSKit.FSMountOptions)</Target>
</Suppression>
</Suppressions>
Loading