-
Notifications
You must be signed in to change notification settings - Fork 377
/
Copy pathIMountPoint.cs
49 lines (43 loc) · 1.84 KB
/
IMountPoint.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
namespace Microsoft.TemplateEngine.Abstractions.Mount
{
/// <summary>
/// Represents abstract directory.
/// This could be regular folder on file system, zip file, HTTP server or anything else that can
/// present files in file system hierarchy.
/// </summary>
public interface IMountPoint : IDisposable
{
/// <summary>
/// Returns mount point URI (as received from template package provider = not normalized).
/// </summary>
string MountPointUri { get; }
/// <summary>
/// Returns root directory of the mount point.
/// </summary>
IDirectory Root { get; }
/// <summary>
/// <see cref="IEngineEnvironmentSettings"/> used to create this instance.
/// </summary>
IEngineEnvironmentSettings EnvironmentSettings { get; }
/// <summary>
/// Gets the file info for the file in the mount point.
/// </summary>
/// <param name="path">The path to the file relative to mount point root.</param>
/// <returns></returns>
IFile? FileInfo(string path);
/// <summary>
/// Gets the directory info for the directory in the mount point.
/// </summary>
/// <param name="path">The path to the directory relative to mount point root.</param>
/// <returns></returns>
IDirectory? DirectoryInfo(string path);
/// <summary>
/// Gets the file system entry (file or directory) info for the entry in the mount point.
/// </summary>
/// <param name="path">The path to the file system entry relative to mount point root.</param>
/// <returns></returns>
IFileSystemInfo? FileSystemInfo(string path);
}
}