Ejemplo n.º 1
0
        /// <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().
                }
            }
        }
Ejemplo n.º 2
0
        public void ShouldNotThrowOnDispose()
        {
            var archive   = new ArchiveReader(archiveFolder);
            var exception = Record.Exception(() => archive.Dispose());

            Assert.Null(exception);
        }
Ejemplo n.º 3
0
        /// <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.");
        }
Ejemplo n.º 5
0
 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();
         }
     }
 }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
 protected override void Dispose(bool disposing)
 {
     _archive?.Dispose();
     _currentSong?.Dispose();
     base.Dispose(disposing);
 }