2 types derived from ManifestEntry
Microsoft.Extensions.FileProviders.Embedded (2)
Manifest\ManifestDirectory.cs (1)
11internal class ManifestDirectory : ManifestEntry
Manifest\ManifestFile.cs (1)
10internal sealed class ManifestFile : ManifestEntry
42 references to ManifestEntry
Microsoft.Extensions.FileProviders.Embedded (32)
Manifest\EmbeddedFilesManifest.cs (3)
29internal ManifestEntry? ResolveEntry(string path) 49ManifestEntry currentEntry = _rootDirectory; 79if (ResolveEntry(path) is ManifestDirectory directory && directory != ManifestEntry.UnknownPath)
Manifest\ManifestDirectory.cs (11)
13protected ManifestDirectory(string name, ManifestEntry[] children) 21public IReadOnlyList<ManifestEntry> Children { get; protected set; } 23public override ManifestEntry Traverse(StringSegment segment) 35foreach (var child in Children) 48public static ManifestDirectory CreateDirectory(string name, ManifestEntry[] children) 59public static ManifestRootDirectory CreateRootDirectory(ManifestEntry[] children) 69internal static void ValidateChildrenAndSetParent(ManifestEntry[] children, ManifestDirectory parent) 71foreach (var child in children) 87private ManifestEntry[] CopyChildren() 89var list = new List<ManifestEntry>(Children.Count); 92var child = Children[i];
Manifest\ManifestDirectoryInfo.cs (2)
55if (Directory == ManifestEntry.UnknownPath) 62foreach (var entry in Directory.Children)
Manifest\ManifestEntry.cs (3)
16public ManifestEntry? Parent { get; private set; } 20public static ManifestEntry UnknownPath { get; } = ManifestSinkDirectory.Instance; 32public abstract ManifestEntry Traverse(StringSegment segment);
Manifest\ManifestFile.cs (1)
23public override ManifestEntry Traverse(StringSegment segment) => UnknownPath;
Manifest\ManifestParser.cs (5)
50var entriesList = new List<ManifestEntry>(); 53var entry = BuildEntry(element); 64private static void ValidateEntries(List<ManifestEntry> entriesList) 80private static ManifestEntry BuildEntry(XElement element) 100var children = new List<ManifestEntry>();
Manifest\ManifestRootDirectory.cs (1)
8public ManifestRootDirectory(ManifestEntry[] children)
Manifest\ManifestSinkDirectory.cs (2)
12: base(name: string.Empty, children: Array.Empty<ManifestEntry>()) 20public override ManifestEntry Traverse(StringSegment segment) => this;
ManifestEmbeddedFileProvider.cs (4)
85var entry = Manifest.ResolveEntry(subpath); 86if (entry == null || entry == ManifestEntry.UnknownPath) 102var entry = Manifest.ResolveEntry(subpath); 109case ManifestDirectory d when d != ManifestEntry.UnknownPath:
Microsoft.Extensions.FileProviders.Embedded.Tests (10)
Manifest\EmbeddedFilesManifestTests.cs (2)
27var entry = manifest.ResolveEntry(path); 52var entry = manifest.ResolveEntry(path);
Manifest\ManifestEntryTests.cs (8)
18var result = file.Traverse("."); 31var result = directory.Traverse("missing.txt"); 44var result = directory.Traverse("."); 58var result = childDirectory.Traverse(".."); 71var result = directory.Traverse(".."); 90var result = newRoot.Traverse("../b/test.txt"); 104var directory = ManifestEntry.UnknownPath; 107var result = directory.Traverse(path);