Beispiel #1
0
        /// <summary>
        /// Compress an unencrypted FAES File.
        /// </summary>
        /// <param name="unencryptedFile">Unencrypted FAES File</param>
        /// <returns>Path of the unencrypted, compressed file</returns>
        public string CompressFAESFile(FAES_File unencryptedFile)
        {
            switch (_compressionMode)
            {
            case CompressionMode.LZMA:
                LZMA lzma = new LZMA();
                Logging.Log("Compression Mode: LZMA", Severity.DEBUG);
                return(lzma.CompressFAESFile(unencryptedFile));

            case CompressionMode.TAR:
                TAR tar = new TAR();
                Logging.Log("Compression Mode: TAR", Severity.DEBUG);
                return(tar.CompressFAESFile(unencryptedFile));

            case CompressionMode.LGYZIP:
                LegacyZIP legacyZIP = new LegacyZIP();
                Logging.Log("Compression Mode: LEGACYZIP", Severity.DEBUG);
                return(legacyZIP.CompressFAESFile(unencryptedFile));

            default:
            {
                ZIP zip;
                Logging.Log("Compression Mode: ZIP", Severity.DEBUG);

                if (_compressionLevelRaw < 0)
                {
                    Logging.Log(String.Format("Compression Level: {0}", _compressionLevel), Severity.DEBUG);
                    zip = new ZIP(_compressionLevel);
                }
                else
                {
                    Logging.Log(String.Format("Compression Level: {0}", _compressionLevelRaw), Severity.DEBUG);
                    zip = new ZIP(_compressionLevelRaw);
                }
                return(zip.CompressFAESFile(unencryptedFile));
            }
            }
        }