tbf/TBF/Rig/GenericDevices/IValveControl.cs

57 lines
2.1 KiB
C#

///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using Dirichlet.Numerics;
using TBF.Boxes;
namespace TBF.Rig.GenericDevices
{
public interface IValveControl
{
/// <summary>
///
/// </summary>
/// <param name="valveToOpen">Valves to be opened as a bit field</param>
/// <param name="valveToClose">Valves to be closed as a bit field</param>
/// <param name="extendedValves">List of extended valves</param>
/// <returns></returns>
UInt128 SetValves(UInt128 valvesToOpen, UInt128 valvesToClose, IList<BuiltIn.ValveEx.Valve> extendedValves);
/// <summary>
/// Open/close one valve.
/// Events: ValvesSet, ValvesBusy, Error
/// </summary>
/// <param name="valveToOpen">Valve to be opened</param>
/// <param name="valveToClose">Valve to be closed</param>
/// <returns>Newly created operation instance reference casted to IOperaton</returns>
IOperation SetValvesOp(IValve valveToOpen, IValve valveToClose);
/// <summary>
/// Open/close multiple valves.
/// Events: ValvesSet, ValvesBusy, Error
/// </summary>
/// <param name="valvesToOpen">A list of valves to be opened</param>
/// <param name="valvesToClose">A list of valves to be closed</param>
/// <returns>Newly created operation instance reference casted to IOperaton</returns>
IOperation SetValvesOp(IList<IValve> valvesToOpen, IList<IValve> valvesToClose);
/// <summary>
/// Open start/stop valve.
/// Events: ValvesSet, ValvesBusy, Error
/// </summary>
/// <returns>Created operation</returns>
IOperation OpenStartValveOp();
IOperation OpenStartValveOp(DateTimeBox openTimeStamp, FloatBox switchTime);
/// <summary>
/// Close start/stop valve.
/// Events: ValvesSet, ValvesBusy, Error
/// </summary>
/// <returns>Created operation</returns>
IOperation CloseStartValveOp();
IOperation CloseStartValveOp(DateTimeBox closeTimeStamp, FloatBox switchTime);
}
}