private CMFArchive(Stream baseStream, bool leaveOpen) { this.dataoffsetStart = 0; this.headeroffsetStart = 0; this.leaveStreamOpen = leaveOpen; this.myReader = null; this.BaseStream = baseStream; }
/// <summary> /// Return the progressive reader of the CMF Archive. /// </summary> /// <returns></returns> public IReader ExtractAllEntries() { if (this._disposed) { throw new System.ObjectDisposedException("Archive"); } if (this.myReader != null) { throw new InvalidOperationException("You can only have one reader per archive. Dispose the old one before getting a new one."); } this.myReader = new CMFReader(this); this.myReader.Disposed += this.MyReader_Disposed; return(this.myReader); }
private void MyReader_Disposed(object sender, EventArgs e) { this.myReader = null; }