using ArchestrAServices.ASBIDataContract; using ArchestrAServices.Contract; namespace ArchestrAServices.ASBContract; public interface IDataV2toV1 { IAsbInterfaceSettings Settings { get; } ArchestrAResult KeepAlive(ConnectionId Id); void OnConnect(ConnectionId ConnectionId, ulong Timeout); ArchestrAResult ActivateUser(ConnectionId Id, UserToken UserToken); ArchestrAResult ExchangeCapabilities(out string ServiceCapabilities, ConnectionId Id, string ClientCapabilities); ArchestrAResult Read(out ItemStatusV2[] Status, out RuntimeValue[] Values, ConnectionId Id, ItemIdentity[] Items); ArchestrAResult Write(out ItemStatusV2[] Status, ConnectionId Id, ItemIdentity[] Items, WriteValueV2[] Values, uint WriteHandle); ArchestrAResult WriteUser(out ItemStatusV2[] Status, ConnectionId Id, ItemIdentity[] Items, WriteValueV2[] Values, UserToken User, uint WriteHandle); ArchestrAResult WriteVerified(out ItemStatusV2[] Status, ConnectionId Id, ItemIdentity[] Items, WriteValueV2[] Values, UserToken User, UserToken Supervisor, uint WriteHandle); ArchestrAResult WriteSecured(out ItemStatusV2[] Status, ConnectionId Id, ItemIdentity[] Items, WriteValueV2[] Values, UserToken User, uint WriteHandle); ArchestrAResult WriteConfirmed(out WriteValueV2 ValueReceived, out long WriteToken, ConnectionId Id, ItemIdentity Item, WriteValueV2 Value, UserToken User, UserToken Supervisor); ArchestrAResult ConfirmWrite(ConnectionId Id, ItemIdentity Item, long WriteToken, WriteValueV2 Value, UserToken User, UserToken Supervisor, uint WriteHandle); ArchestrAResult PublishWriteComplete(out ItemWriteCompleteV2[] CompleteWrites, ConnectionId Id); ArchestrAResult CreateSubscription(out long SubscriptionId, ConnectionId Id, long MaxQueueSize, ulong SampleInterval); ArchestrAResult SetSubscriptionState(ConnectionId Id, long SubscriptionId, ArchestrAServices.ASBIDataContract.Variant NewState, ushort StateToChange); ArchestrAResult GetSubscriptionState(out ArchestrAServices.ASBIDataContract.Variant State, ConnectionId Id, long SubscriptionId, ushort StateToGet); ArchestrAResult DeleteSubscription(ConnectionId Id, long SubscriptionId); ArchestrAResult AddMonitoredItems(out ItemStatus[] Status, out ItemRegistration[] ItemCapabilities, ConnectionId Id, long SubscriptionId, MonitoredItem[] Items, byte RequireId); ArchestrAResult DeleteMonitoredItems(out ItemStatus[] Status, ConnectionId Id, long SubscriptionId, MonitoredItem[] Items); ArchestrAResult GetMonitoredItems(out MonitoredItem[] Items, ConnectionId Id, long SubscriptionId); ArchestrAResult Publish(out ItemStatus[] Status, out MonitoredItemValue[] Values, ConnectionId Id, long SubscriptionId); ArchestrAResult RegisterItems(out ItemStatus[] Status, out ItemRegistration[] ItemCapabilities, ConnectionId Id, ItemIdentity[] Items, byte RequireId, byte RegisterOnly); ArchestrAResult UnregisterItems(out ItemStatus[] Status, ConnectionId Id, ItemIdentity[] Items); void OnDisconnect(ConnectionId Id); }