private void stopLiveTiming() { _stopRequested = true; _liveTimingFIS.Dispose(); _liveTimingFIS.StatusChanged -= liveTimingFIS_StatusChanged; _liveTimingFIS = null; }
private void startLiveTiming() { storeLiveTimingConfig(); RaceConfiguration cfg = _thisRace.RaceConfiguration; if (_liveTimingFIS != null) // Might be a zombie from a failed connection { stopLiveTiming(); } _stopRequested = false; _liveTimingFIS = new LiveTimingFIS.LiveTimingFIS(); try { _liveTimingFIS.Race = _thisRace; _liveTimingFIS.StatusChanged += liveTimingFIS_StatusChanged; _liveTimingFIS.Connect(int.Parse(cfg.LivetimingParams["FIS_Port"])); _liveTimingFIS.Login(cfg.LivetimingParams["FIS_RaceCode"], cfg.LivetimingParams["FIS_Category"], cfg.LivetimingParams["FIS_Pasword"]); _liveTimingFIS.Start(); } catch (Exception error) { MessageBox.Show(error.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); _liveTimingFIS = null; } }
public LiveTimingDelegator(Race race, LiveTimingFIS liveTiming) { _race = race; _liveTiming = liveTiming; _notifier = new List <IDisposable>(); observeRace(); }