using System.Threading; using System.Threading.Tasks; using ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Shared.Contracts; namespace ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Host.Backend; /// /// The Host's view of a FOCAS session. One implementation wraps the real /// Fwlib32.dll via P/Invoke (lands with the real Fwlib32 integration follow-up, /// since no hardware is available today); a second implementation — /// — is used by tests. /// Both live on .NET 4.8 x86 so the Host can be deployed in either mode without /// changing the pipe server. /// Invoked via FwlibFrameHandler in the Ipc namespace. /// public interface IFocasBackend { Task OpenSessionAsync(OpenSessionRequest request, CancellationToken ct); Task CloseSessionAsync(CloseSessionRequest request, CancellationToken ct); Task ReadAsync(ReadRequest request, CancellationToken ct); Task WriteAsync(WriteRequest request, CancellationToken ct); Task PmcBitWriteAsync(PmcBitWriteRequest request, CancellationToken ct); Task ProbeAsync(ProbeRequest request, CancellationToken ct); }