Files
Mapo-IOB-WIN/IOB-UT-NEXT/Objects/TimingData.cs
T
2026-05-21 20:05:29 +02:00

64 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
namespace IOB_UT_NEXT.Objects
{
/// <summary>
/// Gestione dati di timing
/// </summary>
public static class TimingData
{
#region Public Fields
public static List<TimeRec> results = new List<TimeRec>();
#endregion Public Fields
#region Public Methods
/// <summary>
/// aggiorno vettore aggiungendo risultato
/// </summary>
/// <param name="caller">Codice chiamante</param>
/// <param name="codice">Codice da registrare (univoco con chiamante)</param>
/// <param name="ticks">Tempo esecuzione in ticks</param>
public static void addResult(string caller, string codice, long ticks)
{
if (results.Count == 0)
{
results.Add(new TimeRec(caller, codice, ticks));
}
int indice = -1;
for (int i = 0; i < results.Count; i++)
{
// se il codice è quello cercato...
if (results[i].codCall == codice && results[i].classCall == caller)
{
indice = i;
}
}
// se c'è aggiorno...
if (indice >= 0)
{
results[indice].numCall++;
results[indice].totMsec = results[indice].totMsec.Add(new TimeSpan(ticks));
}
// altrimenti aggiungo...
else
{
results.Add(new TimeRec(caller, codice, ticks));
}
}
/// <summary>
/// Resetta i dati registrati (ad avvio adapter...)
/// </summary>
public static void resetData()
{
results = new List<TimeRec>();
}
#endregion Public Methods
}
}