public StreamOnReadableDataStorage(ReadableDataStorage baseStorage, long start, long end)
 {
     if (baseStorage != null) {
         baseStorage.AddRef();
         _baseStorage = baseStorage;
     }
     _start = start;
     _end = end;
 }
 private StreamOnReadableDataStorage(ReadableDataStorage baseStorage, long start, long end, long position)
 {
     if (baseStorage != null) {
         baseStorage.AddRef();
         _baseStorage = baseStorage;
     }
     _start = start;
     _end = end;
     _position = position;
 }
Beispiel #3
0
 protected override void Dispose(bool disposing)
 {
     if (disposing && this.body != null)
     {
         ReadableDataStorage readableWritableStorage = base.ReadableWritableStorage;
         readableWritableStorage.AddRef();
         this.body.SetNewContent(readableWritableStorage, 0L, readableWritableStorage.Length);
         readableWritableStorage.Release();
         this.body = null;
     }
     base.Dispose(disposing);
 }
 protected override void Dispose(bool disposing)
 {
     if (disposing && _baseStorage != null) {
         _baseStorage.Release();
         _baseStorage = null;
     }
     _disposed = true;
     base.Dispose(disposing);
 }
 private AutoPositionReadOnlyStream(AutoPositionReadOnlyStream original)
 {
     original.storage.AddRef();
     storage = original.storage;
     position = original.position;
 }
 public AutoPositionReadOnlyStream(System.IO.Stream wrapped, bool ownsStream)
 {
     storage = new ReadableDataStorageOnStream(wrapped, ownsStream);
     position = wrapped.Position;
 }
 protected override void Dispose(bool disposing)
 {
     if (disposing && storage != null) {
         storage.Release();
         storage = null;
     }
     base.Dispose(disposing);
 }