namespace IBKRTrader.Core.Workers;
///
/// Vertrag für jeden Worker oder Service im System.
/// Core und Module müssen dieses Interface implementieren.
///
public interface IWorker
{
/// Anzeigename in dgv_workerlist.
string Name { get; }
/// Modul-Kürzel (z. B. "Core", "CT").
string Module { get; }
/// Worker = periodisch / Service = dauerhaft.
WorkerType Type { get; }
/// Live-Daten für die DataGridView-Zeile.
WorkerInfo Info { get; }
/// Startet den Worker/Service asynchron.
Task StartAsync(CancellationToken ct);
/// Stoppt den Worker/Service sauber.
Task StopAsync();
/// Löst einen sofortigen, manuellen Run aus (unabhängig vom Zeitplan).
Task TriggerAsync();
}