#region --------------- Copyright Dresser Wayne Pignone -------------
/*
* $Log: /Wrk/Support/ForecourtControl/Wrk/ForecourtControl/Com/ITank.cs $
*
* 2 07-03-09 15:34 roger.månsson
* Use MarshalAs (Currency) on decimal parameters that should be exposed
* COM
*
* 1 07-01-05 15:13 roger.månsson
* Created
*/
#endregion
using System.Runtime.InteropServices;
namespace Wayne.ForecourtControl.Com
{
///
/// Interface to the representation of a physical fuel tank. The tanks are grouped in Tank groups,
/// where several tanks are linked together.
///
[ComVisible(true)]
[InterfaceType( ComInterfaceType.InterfaceIsDual)]
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 Methods
///
/// Starts a physical tank reading if a physical probe is available.
///
///
void ReadAsync(object userToken);
///
/// Used to register manual tank dipping from the application.
///
///
///
void RegisterManualTankDippingAsync([param:MarshalAs(UnmanagedType.Currency)] decimal tankLevel, object userToken);
#endregion
}
}