protected override FileSystemEntry FilterFileSystemEntry(FileSystemEntry FileSystemEntry) { var NewFileSystemEntry = FileSystemEntry.Clone(); { NewFileSystemEntry.Path = NewFileSystemEntry.Path.Substring(AccessPath.Length).PadLeft('/'); } return NewFileSystemEntry; }
public IEnumerable<FileSystemEntry> FindMountedFiles(String NewPath) { foreach (var MountedFileSystemPath in MountedFileSystems.Keys) { if (MountedFileSystemPath.StartsWith(NewPath)) { var Components = MountedFileSystemPath.Substring(NewPath.Length).TrimStart('/').Split('/'); FileSystemEntry FileSystemEntry = new FileSystemEntry(this, Components[0]); FileSystemEntry.Type = VirtualFileSystem.FileSystemEntry.EntryType.Directory; yield return FileSystemEntry; } } }
internal override void ImplSetFileTime(string Path, FileSystemEntry.FileTime FileTime) { this.ParentFileSystem.ImplSetFileTime(Path, FileTime); }
protected virtual FileSystemEntry FilterFileSystemEntry(FileSystemEntry FileSystemEntry) { return FileSystemEntry; }
internal abstract void ImplSetFileTime(String Path, FileSystemEntry.FileTime FileTime);
public void SetFileTime(String Path, FileSystemEntry.FileTime FileTime) { FileSystem NewFileSystem; String NewPath; Access(Path, out NewFileSystem, out NewPath); NewFileSystem.ImplSetFileTime(NewPath, FileTime); }
/// <summary> /// /// </summary> /// <param name="FileSystemEntry"></param> /// <returns></returns> virtual protected FileSystemEntry FilterFileSystemEntry(FileSystemEntry FileSystemEntry) { return(FileSystemEntry); }
public Node(NodeFileSystem NodeFileSystem, Node Parent, String Name) { this.NodeFileSystem = NodeFileSystem; this.Parent = Parent; this.Name = Name; this.FileSystemEntry = new FileSystemEntry(NodeFileSystem, this.FullName); this.FileSystemFileStream = null; }
public FileSystemEntry Clone() { var That = new FileSystemEntry(this.FileSystem, this.Path) { ExtendedFlags = this.ExtendedFlags, FileSystem = this.FileSystem, Path = this.Path, Size = this.Size, Time = this.Time, Type = this.Type, GroupId = this.GroupId, UserId = this.UserId, }; return That; }
void FillFileInformationFromFileSystemEntry(FileInformation FileInformation, FileSystemEntry FileSystemEntry) { FileInformation.Attributes = System.IO.FileAttributes.Normal; if (FileSystemEntry.Type.HasFlag(FileSystemEntry.EntryType.Directory)) { FileInformation.Attributes |= FileAttributes.Directory; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Compressed)) { FileInformation.Attributes |= FileAttributes.Compressed; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Hidden)) { FileInformation.Attributes |= FileAttributes.Hidden; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Encrypted)) { FileInformation.Attributes |= FileAttributes.Encrypted; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.System)) { FileInformation.Attributes |= FileAttributes.System; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Archive)) { FileInformation.Attributes |= FileAttributes.Archive; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Device)) { FileInformation.Attributes |= FileAttributes.Device; } FileInformation.Length = FileSystemEntry.Size; FileInformation.FileName = FileSystemEntry.Name; FileInformation.CreationTime = FileSystemEntry.Time.CreationTime; FileInformation.LastWriteTime = FileSystemEntry.Time.LastWriteTime; FileInformation.LastAccessTime = FileSystemEntry.Time.LastAccessTime; }
static void FillFileInformationFromFileSystemEntry(FileInformation FileInformation, FileSystemEntry FileSystemEntry) { FileInformation.Attributes = System.IO.FileAttributes.Normal; if (FileSystemEntry.Type.HasFlag(FileSystemEntry.EntryType.Directory)) { FileInformation.Attributes |= FileAttributes.Directory; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Compressed)) { FileInformation.Attributes |= FileAttributes.Compressed; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Hidden)) { FileInformation.Attributes |= FileAttributes.Hidden; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Encrypted)) { FileInformation.Attributes |= FileAttributes.Encrypted; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.System)) { FileInformation.Attributes |= FileAttributes.System; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Archive)) { FileInformation.Attributes |= FileAttributes.Archive; } if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Device)) { FileInformation.Attributes |= FileAttributes.Device; } FileInformation.Length = FileSystemEntry.Size; FileInformation.FileName = FileSystemEntry.Name; FileInformation.CreationTime = FileSystemEntry.Time.CreationTime; FileInformation.LastWriteTime = FileSystemEntry.Time.LastWriteTime; FileInformation.LastAccessTime = FileSystemEntry.Time.LastAccessTime; }
public FileSystemFileStream(FileSystem FileSystem, FileSystemEntry FileSystemEntry = null) { this.FileSystem = FileSystem; this.FileSystemEntry = FileSystemEntry; }
protected override void ImplSetFileTime(string Path, FileSystemEntry.FileTime FileTime) { throw new NotImplementedException(); }
/// <summary> /// /// </summary> /// <param name="Path"></param> /// <param name="FileTime"></param> abstract protected void ImplSetFileTime(String Path, FileSystemEntry.FileTime FileTime);
/// <summary> /// /// </summary> /// <param name="FileSystem"></param> /// <param name="FileSystemEntry"></param> public FileSystemFileStream(FileSystem FileSystem, FileSystemEntry FileSystemEntry = null) { this.FileSystem = FileSystem; this.FileSystemEntry = FileSystemEntry; }
protected override void ImplSetFileTime(string Path, FileSystemEntry.FileTime FileTime) { //this.ParentFileSystem.ImplSetFileTime(Path, FileTime); this.ParentFileSystem.SetFileTime(Path, FileTime); }