using JetBrains.Annotations; using Sharp7.Rx.Enums; namespace Sharp7.Rx.Interfaces; [NoReorder] public interface IPlc : IDisposable { IObservable ConnectionState { get; } Task SetValue(string variableName, TValue value, CancellationToken token = default); Task GetValue(string variableName, CancellationToken token = default); Task GetValue(string variableName, CancellationToken token = default); IObservable CreateNotification(string variableName, TransmissionMode transmissionMode); IObservable CreateNotification(string variableName, TransmissionMode transmissionMode); }