/// ------------------------------------------------------------------------------------ /// <summary> /// Closes the connection to Libronix /// </summary> /// ------------------------------------------------------------------------------------ private void Close() { lock (this) { if (m_PositionChangedBridge != null) { if (m_cookies != null) { RemovePositionEvents(); } m_PositionChangedBridge.PositionChanged -= OnPositionChangedInLibronix; } m_PositionChangedBridge = null; m_cookies.Clear(); if (m_pollTimer != null) { m_pollTimer.Stop(); m_pollTimer.Dispose(); m_pollTimer = null; } if (m_ApplicationEventsBridge != null) { try { m_ApplicationEventsBridge.Disconnect(m_libronixApp, m_ApplicationEventsCookie); } catch { } m_ApplicationEventsBridge.EventFired -= OnApplicationEventsBridgeEventFired; } m_ApplicationEventsBridge = null; m_libronixApp = null; } }