internal CFile(CItem parent, IFolderFile medFolderFile) : base(parent) { if (!(parent is CFiles)) { throw new Exception("Internal error"); } this.MedFolderFile = medFolderFile; this.Name = this.MedFolderFile.Name; this.Size = this.MedFolderFile.Size; this.ReadOnly = (this.MedFolderFile.IsReadOnly != 0); this.Changed = false; }
internal void DeleteFile(CFile fileToDelete) { int fileCount = this.MedFolder.FileCount; for (int i = 1; i <= fileCount; i++) { IFolderFile folderFile = this.MedFolder.GetFile(i) as IFolderFile; if (folderFile.Name == fileToDelete.Name) { this.MedFolder.DeleteFolderFile(i); break; } } this.Remove(fileToDelete); }
public CFile CreateFile(string name) { IFolderFile medFolderFile = this.MedFolder.CreateFileDirect(name) as IFolderFile; CFile cFile; if (base.Parent is CFileSystem) { cFile = new CFile((base.Parent as CFileSystem).RootFolder.Files, medFolderFile, true); } else { cFile = new CFile(((base.Parent as CFolders).Parent as CFolder).Files, medFolderFile, true); } this.Files.AddLast(cFile); return(cFile); }
public virtual bool Update(CDriver.Progress progress) { this.InvalidateChildren(); int fileCount = this.MedFolder.FileCount; for (int i = 1; i <= fileCount; i++) { IFolderFile medFolderFile = (IFolderFile)this.MedFolder.GetFile(i); base.AddLast(new CFile(this, medFolderFile)); if (!progress(i * 1000 / fileCount + 1000)) { return(false); } } return(progress(1000)); }
internal override void Invalidate() { base.Invalidate(); this.MedFolderFile = null; }