コード例 #1
0
        public void AggiungiAnalisi(IAnalisi analisi)
        {
            analisi.Stazione      = Stazione;
            analisi.GestoreEventi = _gestoreEventi;
            RicevitoriDati       += analisi.OnDatiDisponibili;

            // Avvio il thread dell'analisi
            analisi.Avvia();
        }
コード例 #2
0
 public void OnLogout()
 {
     staFacendoLogout = true;
     magnitudoCodaThread.Abort();
     frequenzaCodaThread.Abort();
     Sorgente?.Ferma();
     Sorgente?.RimuoviAnalisi(magnitudo);
     Sorgente?.RimuoviAnalisi(frequenza);
     magnitudo.RicevitoriRisultato         -= SegnalaMagnitudo;
     frequenza.RicevitoriRisultato         -= SegnalaFrequenza;
     GestoreEventi.RicevitoriEventoSismico -= RiceviEvento;
     this.magnitudo = null;
     this.frequenza = null;
     Sorgente       = null;
 }
コード例 #3
0
        private void HomeDashboard_Load(object sender, EventArgs e)
        {
            this.panelAllertaEvento.Visible = false;

            threadSorgente = new Thread(() => Sorgente.CicloPrincipale());
            threadSorgente.Start();

            magnitudo = new AnalisiMagnitudine();
            Sorgente.AggiungiAnalisi(magnitudo);

            magnitudo.RicevitoriRisultato += SegnalaMagnitudo;

            frequenza = new AnalisiFrequenza();
            Sorgente.AggiungiAnalisi(frequenza);

            frequenza.RicevitoriRisultato += SegnalaFrequenza;


            magnitudoCodaThread = new Thread(() =>
            {
                while (!staFacendoLogout)
                {
                    double corrente = codaMagnitudo.Take();
                    updateChartMagnitudo(corrente);
                }
            });
            magnitudoCodaThread.Start();


            frequenzaCodaThread = new Thread(() =>
            {
                while (!staFacendoLogout)
                {
                    double corrente = codaFrequenza.Take();
                    updateChartFrequenza(corrente);
                }
            });
            frequenzaCodaThread.Start();

            // Registro il gestore di eventi
            GestoreEventi.RicevitoriEventoSismico += RiceviEvento;
        }
コード例 #4
0
 public void RimuoviAnalisi(IAnalisi analisi)
 {
     RicevitoriDati -= analisi.OnDatiDisponibili;
     analisi.Ferma();
 }