protected virtual void Dispose(Boolean disposing) { if (!m_disposed) { if (disposing) { if (m_provider != null) { m_provider.Dispose(); m_provider = null; } } m_disposed = true; } }
public GeoLocationProvider(GeoLocationAccuracy desiredAccuracy) { m_desiredAccuracy = desiredAccuracy; m_provider = new GeoLocationProviderInternal(desiredAccuracy); if (SynchronizationContext.Current == null) { // // Create a SynchronizationContext if there isn't one on calling thread // m_synchronizationContext = new SynchronizationContext(); } else { m_synchronizationContext = SynchronizationContext.Current; } m_provider.StatusChanged += new EventHandler <GeoLocationStatusChangedEventArgs>(OnInternalStatusChanged); }