33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
namespace Voile.VFS;
|
|
|
|
/// <summary>
|
|
/// A virtual mounting point.
|
|
/// </summary>
|
|
public interface IVirtualMountPoint
|
|
{
|
|
/// <summary>
|
|
/// Order of mounting for this mount point. Lower values indicate higher priority for lookup.
|
|
/// </summary>
|
|
int Order { get; }
|
|
/// <summary>
|
|
/// Mounts this <see cref="IVirtualMountPoint"/>.
|
|
/// </summary>
|
|
void Mount();
|
|
/// <summary>
|
|
/// Gets a file.
|
|
/// </summary>
|
|
/// <param name="path">Relative path to the file.</param>
|
|
/// <returns>An instance of <see cref="VirtualFile"/> if the file exists; otherwise, an exception is thrown.</returns>
|
|
VirtualFile GetFile(string path);
|
|
/// <summary>
|
|
/// Gets all files available at this <see cref="IVirtualMountPoint"/>.
|
|
/// </summary>
|
|
/// <returns>A dictionary mapping a relative path to an instance of a <see cref="VirtualFile"/>.</returns>
|
|
IDictionary<string, VirtualFile> GetFiles();
|
|
/// <summary>
|
|
/// Determines whether a file exists at the given relative path within this mount point.
|
|
/// </summary>
|
|
/// <param name="path">The relative path of the file to check.</param>
|
|
/// <returns><c>true</c> if the file exists; otherwise, <c>false</c>.</returns>
|
|
bool HasFile(string path);
|
|
} |