12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #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
- {
- /// <summary>
- /// Interface to the representation of a physical fuel tank. The tanks are grouped in Tank groups,
- /// where several tanks are linked together.
- /// </summary>
- public interface ITank
- {
- #region Properties
- /// <summary>
- /// Id of the tank.
- /// </summary>
- int Id { get;}
- /// <summary>
- /// The tank group this tank is associated with.
- /// </summary>
- ITankGroup TankGroup { get;}
- /// <summary>
- /// Indicates the connection state of the tank probe.
- /// </summary>
- DeviceConnectionState ConnectionState { get;}
- /// <summary>
- /// The latest physical reading from the TIG
- /// </summary>
- ITankReading LatestPhysicalReading { get;}
- /// <summary>
- /// Indicates if this tank has a probe for physical tank reading.
- /// </summary>
- bool CapPhysicalReading { get;}
- #endregion
- #region Events
- /// <summary>
- /// Event fired when the connection state of the tank changes
- /// </summary>
- event EventHandler<ConnectionChangedEventArgs> OnConnectionStateChange;
- #endregion
- #region Methods
- /// <summary>
- /// Starts a physical tank reading if a physical probe is available.
- /// </summary>
- /// <param name="readingCompleted"></param>
- /// <param name="userToken"></param>
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
- void ReadAsync(EventHandler<AsyncCompletedEventArgs<ITankReading>> readingCompleted, object userToken);
- /// <summary>
- /// Used to register manual tank dipping from the application.
- /// </summary>
- /// <param name="tankLevel"></param>
- /// <param name="manualTankDippingRegistered"></param>
- /// <param name="userToken"></param>
- void RegisterManualTankDippingAsync(decimal tankLevel, EventHandler<AsyncCompletedEventArgs> manualTankDippingRegistered, object userToken);
-
- #endregion
- }
- }
|