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;
            }
        }
Esempio n. 3
0
        public LiveTimingDelegator(Race race, LiveTimingFIS liveTiming)
        {
            _race       = race;
            _liveTiming = liveTiming;

            _notifier = new List <IDisposable>();

            observeRace();
        }