public CompressedStream( Stream baseStream, StreamOperationMode mode, CompressionSettings settings) : this(baseStream, mode, settings, true, (EncryptionSettings)null) { }
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; }
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); }
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); }
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; } }