예제 #1
0
        /// <summary>
        /// Function that makes the DirectoryData being read from corresponding Fhsks files with checking
        /// that the read data is correct at the moment it being read. If the data wasnt correct it would update the files
        /// and re-calculate hashes if its needed with reading new files.
        /// </summary>
        private void ReadFhsksAndGetLatestFileData()
        {
            string        FhsksFilePath  = FhsksIO.GetCorrespondingFhsksFilePath(RootPath);
            DirectoryData currentFhsksDD = FhsksIO.ReadDirectoryDataFromFile(FhsksFilePath);

            List <LoadedFileStatus> statusList = FileStatusLoader.CheckFileStatusesOfDirectoryData(currentFhsksDD);

            FileStatusLoader.RemoveNotExistingFiles(statusList, currentFhsksDD);
            FileStatusLoader.UpdateModifiedFilesData(statusList, currentFhsksDD);
            FileStatusLoader.AddNewFiles(statusList, currentFhsksDD);

            this.Files = currentFhsksDD.Files;
        }
예제 #2
0
        public DirectoryData(string RootPath)
        {
            RootPath = MakePathEndSlash(RootPath);

            this.RootPath = RootPath;

            if (FhsksIO.CheckCorrespondingFhsksFileExistance(RootPath))
            {
                ReadFhsksAndGetLatestFileData();
            }
            else
            {
                BruteReadFiles();
            }

            SaveHashes();
        }
예제 #3
0
 public void SaveHashes()
 {
     FhsksIO.WriteDirectoryDataToFile(this, FhsksIO.GetCorrespondingFhsksFilePath(this.RootPath));
 }