Files
HC_APTBS/Services/IUnlockService.cs
2026-04-11 12:45:18 +02:00

29 lines
1.1 KiB
C#

using System;
using System.Threading;
using System.Threading.Tasks;
using HC_APTBS.Models;
namespace HC_APTBS.Services
{
/// <summary>
/// Manages the immobilizer unlock sequence required by certain pump ECUs
/// (e.g. Ford VP44 models) before they respond to test commands.
/// </summary>
public interface IUnlockService
{
/// <summary>Raised with progress text during the unlock sequence.</summary>
event Action<string>? StatusChanged;
/// <summary>Raised when the unlock sequence completes. Argument is true if successful.</summary>
event Action<bool>? UnlockCompleted;
/// <summary>
/// Runs the immobilizer unlock sequence for the given pump.
/// Returns immediately if <see cref="PumpDefinition.UnlockType"/> is 0 (no unlock needed).
/// </summary>
/// <param name="pump">Pump definition with unlock type and CAN parameters.</param>
/// <param name="ct">Cancellation token to abort the unlock sequence.</param>
Task UnlockAsync(PumpDefinition pump, CancellationToken ct);
}
}