///
/// 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
{
///
///
///
/// Valves to be opened as a bit field
/// Valves to be closed as a bit field
/// List of extended valves
///
UInt128 SetValves(UInt128 valvesToOpen, UInt128 valvesToClose, IList extendedValves);
///
/// Open/close one valve.
/// Events: ValvesSet, ValvesBusy, Error
///
/// Valve to be opened
/// Valve to be closed
/// Newly created operation instance reference casted to IOperaton
IOperation SetValvesOp(IValve valveToOpen, IValve valveToClose);
///
/// Open/close multiple valves.
/// Events: ValvesSet, ValvesBusy, Error
///
/// A list of valves to be opened
/// A list of valves to be closed
/// Newly created operation instance reference casted to IOperaton
IOperation SetValvesOp(IList valvesToOpen, IList valvesToClose);
///
/// Open start/stop valve.
/// Events: ValvesSet, ValvesBusy, Error
///
/// Created operation
IOperation OpenStartValveOp();
IOperation OpenStartValveOp(DateTimeBox openTimeStamp);
///
/// Close start/stop valve.
/// Events: ValvesSet, ValvesBusy, Error
///
/// Created operation
IOperation CloseStartValveOp();
IOperation CloseStartValveOp(DateTimeBox closeTimeStamp);
}
}