Esempio n. 1
0
 public CompressedStream(
     Stream baseStream,
     StreamOperationMode mode,
     CompressionSettings settings)
     : this(baseStream, mode, settings, true, (EncryptionSettings)null)
 {
 }
Esempio n. 2
0
 internal OperationStream(Stream baseStream, StreamOperationMode mode)
 {
     if (!baseStream.CanRead && mode == StreamOperationMode.Read || !baseStream.CanWrite && mode == StreamOperationMode.Write)
     {
         throw new ArgumentOutOfRangeException(nameof(mode));
     }
     this.BaseStream = baseStream;
     this.streamMode = mode;
     this.IsDisposed = false;
 }
Esempio n. 3
0
 internal CompressedStream(
     Stream baseStream,
     StreamOperationMode mode,
     ICompressionAlgorithm compressionAlgorithm,
     IChecksumAlgorithm checksumAlgorithm)
     : base(baseStream, mode)
 {
     if (compressionAlgorithm == null)
     {
         throw new ArgumentNullException(nameof(compressionAlgorithm));
     }
     this.Initialize(baseStream, compressionAlgorithm, checksumAlgorithm);
 }
Esempio n. 4
0
        public CompressedStream(
            Stream baseStream,
            StreamOperationMode mode,
            CompressionSettings settings,
            bool useCrc32,
            EncryptionSettings encryptionSettings)
            : base(baseStream, mode)
        {
            baseStream = encryptionSettings != null ? (Stream) new CryptoStream(baseStream, mode, PlatformSettings.Manager.GetCryptoProvider(encryptionSettings)) : baseStream;
            ICompressionAlgorithm compressionAlgorithm = ZipHelper.GetCompressionAlgorithm(settings);
            IChecksumAlgorithm    checksumAlgorithm    = useCrc32 ? (IChecksumAlgorithm) new Crc32() : (IChecksumAlgorithm) new Adler32();

            this.Initialize(baseStream, compressionAlgorithm, checksumAlgorithm);
        }
Esempio n. 5
0
        public CryptoStream(Stream input, StreamOperationMode mode, ICryptoProvider cryptoProvider)
            : base(input, mode)
        {
            if (!input.CanRead && mode == StreamOperationMode.Read || !input.CanWrite && mode == StreamOperationMode.Write)
            {
                throw new ArgumentOutOfRangeException(nameof(mode));
            }
            this.cryptoProvider = cryptoProvider;
            switch (this.Mode)
            {
            case StreamOperationMode.Read:
                this.Transform = this.cryptoProvider.CreateDecryptor();
                break;

            case StreamOperationMode.Write:
                this.Transform = this.cryptoProvider.CreateEncryptor();
                break;
            }
        }