1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System.IO;
- using SharpCompress.IO;
- using SharpCompress.Readers;
- namespace SharpCompress.Common
- {
- public abstract class Volume : IVolume
- {
- private readonly Stream _actualStream;
- internal Volume(Stream stream, ReaderOptions readerOptions)
- {
- ReaderOptions = readerOptions;
- if (readerOptions.LeaveStreamOpen)
- {
- stream = new NonDisposingStream(stream);
- }
- _actualStream = stream;
- }
- internal Stream Stream => _actualStream;
- protected ReaderOptions ReaderOptions { get; }
-
-
-
-
- public virtual bool IsFirstVolume => true;
-
-
-
- public virtual bool IsMultiVolume => true;
- private bool _disposed;
- public void Dispose()
- {
- if (!_disposed)
- {
- _actualStream.Dispose();
- _disposed = true;
- }
- }
- }
- }
|