Example #1
0
		protected override FileSystemEntry FilterFileSystemEntry(FileSystemEntry FileSystemEntry)
		{
			var NewFileSystemEntry = FileSystemEntry.Clone();
			{
				NewFileSystemEntry.Path = NewFileSystemEntry.Path.Substring(AccessPath.Length).PadLeft('/');
			}
			return NewFileSystemEntry;
		}
Example #2
0
 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;
         }
     }
 }
Example #3
0
 internal override void ImplSetFileTime(string Path, FileSystemEntry.FileTime FileTime)
 {
     this.ParentFileSystem.ImplSetFileTime(Path, FileTime);
 }
Example #4
0
 protected virtual FileSystemEntry FilterFileSystemEntry(FileSystemEntry FileSystemEntry)
 {
     return FileSystemEntry;
 }
Example #5
0
 internal abstract void ImplSetFileTime(String Path, FileSystemEntry.FileTime FileTime);
Example #6
0
 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);
 }
Example #8
0
			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;
			}
Example #9
0
 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;
 }
Example #13
0
		protected override void ImplSetFileTime(string Path, FileSystemEntry.FileTime FileTime)
		{
			throw new NotImplementedException();
		}
Example #14
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="Path"></param>
		/// <param name="FileTime"></param>
		abstract protected void ImplSetFileTime(String Path, FileSystemEntry.FileTime FileTime);
Example #15
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="FileSystem"></param>
 /// <param name="FileSystemEntry"></param>
 public FileSystemFileStream(FileSystem FileSystem, FileSystemEntry FileSystemEntry = null)
 {
     this.FileSystem      = FileSystem;
     this.FileSystemEntry = FileSystemEntry;
 }
Example #16
0
		protected override void ImplSetFileTime(string Path, FileSystemEntry.FileTime FileTime)
		{
			//this.ParentFileSystem.ImplSetFileTime(Path, FileTime);
			this.ParentFileSystem.SetFileTime(Path, FileTime);
		}