#region --------------- Copyright Dresser Wayne Pignone -------------
/*
* $Log: /Wrk/Support/ForecourtControl/Wrk/ForecourtControl/ITank.cs $
*
* 3 07-03-09 15:36 roger.månsson
* Use ITankReading in the interface instead of TankReading class.
*
* 2 07-02-16 9:59 roger.månsson
* FxCop changes
*
* 1 07-01-05 15:12 roger.månsson
* Created
*/
#endregion
using System;
using Wayne.Lib;
namespace Wayne.ForecourtControl
{
///
/// Interface to the representation of a physical fuel tank. The tanks are grouped in Tank groups,
/// where several tanks are linked together.
///
public interface ITank
{
#region Properties
///
/// Id of the tank.
///
int Id { get;}
///
/// The tank group this tank is associated with.
///
ITankGroup TankGroup { get;}
///
/// Indicates the connection state of the tank probe.
///
DeviceConnectionState ConnectionState { get;}
///
/// The latest physical reading from the TIG
///
ITankReading LatestPhysicalReading { get;}
///
/// Indicates if this tank has a probe for physical tank reading.
///
bool CapPhysicalReading { get;}
#endregion
#region Events
///
/// Event fired when the connection state of the tank changes
///
event EventHandler OnConnectionStateChange;
#endregion
#region Methods
///
/// Starts a physical tank reading if a physical probe is available.
///
///
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
void ReadAsync(EventHandler> readingCompleted, object userToken);
///
/// Used to register manual tank dipping from the application.
///
///
///
///
void RegisterManualTankDippingAsync(decimal tankLevel, EventHandler manualTankDippingRegistered, object userToken);
#endregion
}
}