using System; using System.Collections.Generic; using System.Text; namespace Cosmos.Kernel.FileSystem { /// /// Represents a filesystem with well defined interfaces. /// public abstract class FileSystem2 : FileSystem { public abstract string Label { get; set; } /// /// Open the drive for reading. /// /// /// Writing should not be supported in the kernel. /// public abstract void Open(); /// /// Closes the file system for reading. /// public abstract void Dispose(); /// /// Gets the files in a specific directory. /// /// The path to the directory. /// A list of files. public abstract File[] GetFiles(Path path); /// /// Reads data from a specific file. /// /// The path to the file. /// The buffer in which to place the data. /// The starting offset in the buffer. /// The amount of bytes to read. /// public abstract int ReadData(Path path, byte[] data, int start, int count); } }