| File: Mount\FileSystem\FileSystemMountPointFactory.cs | Web Access |
| Project: src\sdk\src\TemplateEngine\Microsoft.TemplateEngine.Edge\Microsoft.TemplateEngine.Edge.csproj (Microsoft.TemplateEngine.Edge) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.TemplateEngine.Abstractions; using Microsoft.TemplateEngine.Abstractions.Mount; namespace Microsoft.TemplateEngine.Edge.Mount.FileSystem { public sealed class FileSystemMountPointFactory : IMountPointFactory { internal static readonly Guid FactoryId = new Guid("8C19221B-DEA3-4250-86FE-2D4E189A11D2"); Guid IIdentifiedComponent.Id => FactoryId; bool IMountPointFactory.TryMount(IEngineEnvironmentSettings environmentSettings, IMountPoint? parent, string mountPointUri, out IMountPoint? mountPoint) { if (!Uri.TryCreate(mountPointUri, UriKind.Absolute, out var uri)) { mountPoint = null; return false; } if (!uri.IsFile) { mountPoint = null; return false; } if (parent != null || !environmentSettings.Host.FileSystem.DirectoryExists(uri.LocalPath)) { mountPoint = null; return false; } mountPoint = new FileSystemMountPoint(environmentSettings, mountPointUri, uri.LocalPath); return true; } } }