/// <summary> /// Decompress an encrypted FAES File. /// </summary> /// <param name="encryptedFile">Encrypted FAES File</param> /// <param name="overridePath">Override the read path</param> /// <returns>Path of the encrypted, Decompressed file</returns> public string DecompressFAESFile(FAES_File encryptedFile, string overridePath = "") { string fileCompressionMode = FileAES_Utilities.GetCompressionMode(encryptedFile.GetPath()); Logging.Log(String.Format("Compression Mode: {0}", fileCompressionMode), Severity.DEBUG); switch (fileCompressionMode) { case "LZMA": LZMA lzma = new LZMA(); return(lzma.DecompressFAESFile(encryptedFile, overridePath)); case "TAR": TAR tar = new TAR(); return(tar.DecompressFAESFile(encryptedFile, overridePath)); case "ZIP": ZIP zip = new ZIP(_compressionLevel); return(zip.DecompressFAESFile(encryptedFile, overridePath)); case "LEGACY": case "LEGACYZIP": case "LGYZIP": LegacyZIP legacyZip = new LegacyZIP(); return(legacyZip.DecompressFAESFile(encryptedFile, overridePath)); default: throw new NotSupportedException("FAES File was compressed using an unsupported file format."); } }