ITankGroup.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #region --------------- Copyright Dresser Wayne Pignone -------------
  2. /*
  3. * $Log: /Wrk/Support/ForecourtControl/Wrk/ForecourtControl/Com/ITankGroup.cs $
  4. *
  5. * 2 07-02-16 9:59 roger.månsson
  6. * FxCop changes
  7. *
  8. * 1 07-01-05 15:13 roger.månsson
  9. * Created
  10. */
  11. #endregion
  12. using System.Runtime.InteropServices;
  13. namespace Wayne.ForecourtControl.Com
  14. {
  15. /// <summary>
  16. /// The Tank group interface is used to block and unblock fuellings with nozzles connected to any of
  17. /// the tanks in the tank group.
  18. /// </summary>
  19. [ComVisible(true)]
  20. [InterfaceType(ComInterfaceType.InterfaceIsDual)]
  21. public interface ITankGroup
  22. {
  23. #region Properties
  24. /// <summary>
  25. /// Tank group Id
  26. /// </summary>
  27. int Id { get;}
  28. /// <summary>
  29. /// The collection of physical tanks that is associated with this tank group.
  30. /// </summary>
  31. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
  32. ITank[] Tanks { get;}
  33. /// <summary>
  34. /// Indicates if all nozzles connected to tanks in this tank group are blocked.
  35. /// </summary>
  36. bool Blocked { get;}
  37. #endregion
  38. #region Methods
  39. /// <summary>
  40. /// Disable fuelling for all pump nozzles linked to this tank group.
  41. /// </summary>
  42. /// <param name="userToken"></param>
  43. void BlockAsync(object userToken);
  44. /// <summary>
  45. /// Enable fuelling for all pump nozzles linked to this tank group.
  46. /// </summary>
  47. /// <param name="userToken"></param>
  48. void UnblockAsync(object userToken);
  49. /// <summary>
  50. /// Register a manual fuel delivery from the application.
  51. /// </summary>
  52. /// <param name="manualDeliveryParameters">The parameters for the manual delivery.</param>
  53. /// <param name="userToken"></param>
  54. void RegisterManualDeliveryAsync(IManualFuelDeliveryParameters manualDeliveryParameters, object userToken);
  55. #endregion
  56. }
  57. }