/// <summary> /// Releases the unmanaged resources used by the <see cref="ClientConnection"/> 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 virtual void Dispose(bool disposing) { if (!m_disposed) { try { if (disposing) { if ((object)m_pingTimer != null) { m_pingTimer.Elapsed -= m_pingTimer_Elapsed; m_pingTimer.Dispose(); m_pingTimer = null; } if ((object)m_reconnectTimer != null) { m_reconnectTimer.Elapsed -= m_reconnectTimer_Elapsed; m_reconnectTimer.Dispose(); m_reconnectTimer = null; } DataChannel = null; m_commandChannel = null; m_ipAddress = null; m_subscription = null; m_parent = null; } } finally { m_disposed = true; // Prevent duplicate dispose. } } }
/// <summary> /// Releases the unmanaged resources used by the <see cref="FileClient"/> 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 { // This will be done regardless of whether the object is finalized or disposed. if (disposing) { // This will be done only when the object is disposed by calling Dispose(). if (m_connectionHandle != null) { m_connectionHandle.Dispose(); } if (m_receiveDataTimer != null) { m_receiveDataTimer.Elapsed -= m_receiveDataTimer_Elapsed; m_receiveDataTimer.Dispose(); } } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }
/// <summary> /// Releases the unmanaged resources used by the <see cref="DataGapRecoverer"/> 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 virtual void Dispose(bool disposing) { if (!m_disposed) { try { if (disposing) { if ((object)m_dataGapRecoveryCompleted != null) { // Signal any waiting threads m_abnormalTermination = true; m_dataGapRecoveryCompleted.Set(); m_dataGapRecoveryCompleted.Dispose(); } if ((object)m_dataStreamMonitor != null) { m_dataStreamMonitor.Elapsed -= DataStreamMonitor_Elapsed; m_dataStreamMonitor.Dispose(); m_dataStreamMonitor = null; } if ((object)m_dataGapLogProcessor != null) { m_dataGapLogProcessor.Dispose(); m_dataGapLogProcessor = null; } if ((object)m_dataGapLog != null) { m_dataGapLog.ProcessException -= Common_ProcessException; m_dataGapLog.Dispose(); m_dataGapLog = null; } if ((object)m_temporalSubscription != null) { m_temporalSubscription.StatusMessage -= Common_StatusMessage; m_temporalSubscription.ProcessException -= Common_ProcessException; m_temporalSubscription.ConnectionEstablished -= TemporalSubscription_ConnectionEstablished; m_temporalSubscription.ConnectionTerminated -= TemporalSubscription_ConnectionTerminated; m_temporalSubscription.NewMeasurements -= TemporalSubscription_NewMeasurements; m_temporalSubscription.ProcessingComplete -= TemporalSubscription_ProcessingComplete; m_temporalSubscription.Dispose(); m_temporalSubscription = null; } } } finally { m_disposed = true; // Prevent duplicate dispose. if ((object)Disposed != null) { Disposed(this, EventArgs.Empty); } } } }
/// <summary> /// Releases the unmanaged resources used by the <see cref="UnsynchronizedClientSubscription"/> 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) { m_parent = null; // Dispose base time rotation timer if ((object)m_baseTimeRotationTimer != null) { m_baseTimeRotationTimer.Dispose(); m_baseTimeRotationTimer = null; } // Dispose Iaon session this.DisposeTemporalSession(ref m_iaonSession); } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }
/// <summary> /// Releases the unmanaged resources used by the <see cref="InputAdapterBase"/> 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 (m_connectionTimer != null) { m_connectionTimer.Elapsed -= m_connectionTimer_Elapsed; m_connectionTimer.Dispose(); } m_connectionTimer = null; } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }
/// <summary> /// Releases the unmanaged resources used by the <see cref="OutputAdapterBase"/> 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 (m_connectionTimer != null) { m_connectionTimer.Elapsed -= m_connectionTimer_Elapsed; m_connectionTimer.Dispose(); } m_connectionTimer = null; if (m_monitorTimer != null) { m_monitorTimer.Elapsed -= m_monitorTimer_Elapsed; m_monitorTimer.Dispose(); } m_monitorTimer = null; if (m_measurementQueue != null) { m_measurementQueue.ProcessException -= m_measurementQueue_ProcessException; m_measurementQueue.Dispose(); } m_measurementQueue = null; } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }