26 lines
875 B
C#
26 lines
875 B
C#
namespace LmxFakeProxy.Bridge;
|
|
|
|
public record OpcUaReadResult(object? Value, DateTime SourceTimestamp, uint StatusCode);
|
|
|
|
public interface IOpcUaBridge : IAsyncDisposable
|
|
{
|
|
bool IsConnected { get; }
|
|
|
|
Task ConnectAsync(CancellationToken cancellationToken = default);
|
|
|
|
Task<OpcUaReadResult> ReadAsync(string nodeId, CancellationToken cancellationToken = default);
|
|
|
|
Task<uint> WriteAsync(string nodeId, object? value, CancellationToken cancellationToken = default);
|
|
|
|
Task<string> AddMonitoredItemsAsync(
|
|
IEnumerable<string> nodeIds,
|
|
int samplingIntervalMs,
|
|
Action<string, object?, DateTime, uint> onValueChanged,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task RemoveMonitoredItemsAsync(string handle, CancellationToken cancellationToken = default);
|
|
|
|
event Action? Disconnected;
|
|
event Action? Reconnected;
|
|
}
|