/// <summary> /// Releases the unmanaged resources used by the <see cref="LocalInputAdapter"/> object and optionally releases the managed resources. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> protected override void Dispose(bool disposing) { if (!m_disposed) { try { if (disposing) { if ((object)m_readTimer != null) { m_readTimer.Elapsed -= m_readTimer_Elapsed; m_readTimer.Dispose(); m_readTimer = null; } if ((object)m_archiveReader != null) { m_archiveReader.HistoricFileListBuildStart -= m_archiveReader_HistoricFileListBuildStart; m_archiveReader.HistoricFileListBuildComplete -= m_archiveReader_HistoricFileListBuildComplete; m_archiveReader.HistoricFileListBuildException -= m_archiveReader_HistoricFileListBuildException; m_archiveReader.DataReadException -= m_archiveReader_DataReadException; m_archiveReader.Dispose(); m_archiveReader.Dispose(); m_archiveReader = null; } } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }
public void ShouldNotThrowOnDispose() { var archive = new ArchiveReader(archiveFolder); var exception = Record.Exception(() => archive.Dispose()); Assert.Null(exception); }
/// <summary> /// Closes the archive file once the statistics are no longer needed. /// </summary> public void Close() { if ((object)m_archiveReader == null) { return; } m_archiveReader.Dispose(); m_archiveReader = null; m_metadataRecords = null; }
private void CloseGSFHistorianArchive() { if ((object)m_archiveReader != null) { m_archiveReader.RolloverStart -= m_archiveReader_RolloverStart; m_archiveReader.RolloverComplete -= m_archiveReader_RolloverComplete; m_archiveReader.HistoricFileListBuildStart -= m_archiveReader_HistoricFileListBuildStart; m_archiveReader.HistoricFileListBuildComplete -= m_archiveReader_HistoricFileListBuildComplete; m_archiveReader.HistoricFileListBuildException -= m_archiveReader_HistoricFileListBuildException; m_archiveReader.DataReadException -= m_archiveReader_DataReadException; m_archiveReader.Dispose(); m_archiveReader = null; } m_enumerator = null; ShowUpdateMessage("[GSFHistorian] Archive reader closed."); }
private void CloseStreams() { if (!_leaveOpen) { ArchiveStream.Dispose(); _backingStream?.Dispose(); ArchiveReader?.Dispose(); } else { // if _backingStream isn't null, that means we assigned the original stream they passed // us to _backingStream (which they requested we leave open), and _archiveStream was // the temporary copy that we needed if (_backingStream != null) { ArchiveStream.Dispose(); } } }
private void Main_FormClosing(object sender, FormClosingEventArgs e) { StopProcessing_Click(sender, EventArgs.Empty); if (m_lastSelectedArchiveLocation != null) { ConfigurationFile.Current.Settings.General["ArchiveLocation", true].Value = m_lastSelectedArchiveLocation; ConfigurationFile.Current.Save(); } if (m_archiveReader.StateFile != null) { m_archiveReader.StateFile.Dispose(); } if (m_archiveReader.IntercomFile != null) { m_archiveReader.IntercomFile.Dispose(); } if (m_archiveReader.MetadataFile != null) { m_archiveReader.MetadataFile.Dispose(); } if (m_archiveReader != null) { m_archiveReader.RolloverStart -= m_archiveReader_RolloverStart; m_archiveReader.RolloverComplete -= m_archiveReader_RolloverComplete; m_archiveReader.HistoricFileListBuildStart -= m_archiveReader_HistoricFileListBuildStart; m_archiveReader.HistoricFileListBuildComplete -= m_archiveReader_HistoricFileListBuildComplete; m_archiveReader.DataReadException -= m_archiveReader_DataReadException; m_archiveReader.Dispose(); } this.SaveLayout(); }
protected override void Dispose(bool disposing) { _archive?.Dispose(); _currentSong?.Dispose(); base.Dispose(disposing); }