private static void ApplyOptions([NotNull] FileEntry file, FileOptions options) { if (options.HasFlag(FileOptions.Encrypted)) { file.SetEncrypted(); } if (options.HasFlag(FileOptions.DeleteOnClose)) { file.EnableDeleteOnClose(); } }
public override IFileStream Handle(FileCreateArguments arguments) { Guard.NotNull(arguments, nameof(arguments)); AssertValidCreationOptions(arguments); var resolver = new FileResolver(Root); FileResolveResult resolveResult = resolver.TryResolveFile(arguments.Path); AssertIsNotHiddenOrReadOnly(resolveResult.ExistingFileOrNull, arguments.Path); FileEntry file = resolveResult.ExistingFileOrNull ?? resolveResult.ContainingDirectory.CreateFile(resolveResult.FileName); if ((arguments.Options & FileOptions.DeleteOnClose) != 0) { file.EnableDeleteOnClose(); } return(file.Open(FileMode.Create, FileAccess.ReadWrite, arguments.Path)); }