Esempio n. 1
0
 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;
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
 internal override void Invalidate()
 {
     base.Invalidate();
     this.MedFolderFile = null;
 }