Du hast auf den Branch log-test-branch 2026-04-12 20:57:35 +00:00 gepusht
Neuer Pull-Request
Du hast auf den Branch anon-test2 2026-04-12 20:50:35 +00:00 gepusht
Neuer Pull-Request
Dateien
Soft-LTS/Monitors/SimulationMonitor.cs
2026-04-12 17:39:45 +02:00

46 Zeilen
1.2 KiB
C#

using PrinterMonitor.Configuration;
using PrinterMonitor.Interfaces;
using PrinterMonitor.Models;
namespace PrinterMonitor.Monitors;
/// <summary>
/// Simulation-Drucker: kein Netzwerk, kein OPC UA.
/// Die Sensor-Zustände werden manuell über SetState() gesetzt.
/// PollStateAsync() gibt immer sofort den aktuellen manuellen Zustand zurück.
/// </summary>
public class SimulationMonitor : IPrinterMonitor
{
private SimplePrinterState _state = new();
public string PrinterName { get; }
public bool IsConnected => true;
public SimulationMonitor(PrinterConfig config)
{
PrinterName = config.Name;
}
public void SetState(bool ltsSensor, bool druckerklappe, bool keineEtiketten)
{
_state = new SimplePrinterState
{
LtsSensor = ltsSensor,
Druckerklappe = druckerklappe,
KeineEtiketten = keineEtiketten
};
}
public Task ConnectAsync(CancellationToken ct = default)
=> Task.CompletedTask;
public Task DisconnectAsync()
=> Task.CompletedTask;
public Task<SimplePrinterState> PollStateAsync(CancellationToken ct = default)
=> Task.FromResult(_state);
public ValueTask DisposeAsync()
=> ValueTask.CompletedTask;
}