using System.IO.Abstractions; namespace Terminal.Gui.FileServices; /// /// Interface for defining how to handle file/directory deletion, rename and newing attempts in /// . /// public interface IFileOperations { /// Specifies how to handle file/directory deletion attempts in . /// /// /// if operation was completed or if cancelled /// /// Ensure you use a try/catch block with appropriate error handling (e.g. showing a /// bool Delete (IApplication? app, IEnumerable toDelete); /// Specifies how to handle 'new directory' operation in . /// /// /// The parent directory in which the new directory should be created /// The newly created directory or null if cancelled. /// /// Ensure you use a try/catch block with appropriate error handling (e.g. showing a /// IFileSystemInfo New (IApplication? app, IFileSystem fileSystem, IDirectoryInfo inDirectory); /// Specifies how to handle file/directory rename attempts in . /// /// /// /// The new name for the file or null if cancelled /// /// Ensure you use a try/catch block with appropriate error handling (e.g. showing a /// IFileSystemInfo Rename (IApplication? app, IFileSystem fileSystem, IFileSystemInfo toRename); }