#region --------------- Copyright Dresser Wayne Pignone -------------
/*
* $Log: /Wrk/Support/ForecourtControl/Wrk/ForecourtControl/ITankGroup.cs $
*
* 2 07-03-09 15:37 roger.månsson
* Added Fuel grade in interface. Use IManualFuelDeliveryParameters
* instead of ManualFuelDeliveryParameters class in the interface.
*
* 1 07-01-05 15:12 roger.månsson
* Created
*/
#endregion
using System;
using Wayne.Lib;
namespace Wayne.ForecourtControl
{
///
/// The Tank group interface is used to block and unblock fuellings with nozzles connected to any of
/// the tanks in the tank group.
///
public interface ITankGroup
{
#region Properties
///
/// Tank group Id
///
int Id { get;}
///
/// The collection of physical tanks that is associated with this tank group.
///
System.Collections.ObjectModel.ReadOnlyCollection Tanks { get;}
///
/// Indicates if all nozzles connected to tanks in this tank group are blocked.
///
bool Blocked { get;}
///
/// The fuel product the tank group contains.
///
int FuelGrade { get;}
#endregion
#region Events
///
/// Event that is fired when a fuel delivery is detected. It can be both manual and probe detected deliveries.
///
event EventHandler OnFuelDelivery;
#endregion
#region Methods
///
/// Disable fuelling for all pump nozzles linked to this tank group.
///
///
///
void BlockAsync(EventHandler blockCompleted, object userToken);
///
/// Enable fuelling for all pump nozzles linked to this tank group.
///
///
///
void UnblockAsync(EventHandler unblockCompleted, object userToken);
///
/// Register a manual fuel delivery from the application.
///
///
///
///
void RegisterManualDeliveryAsync(IManualFuelDeliveryParameters manualDeliveryParameters, EventHandler deliveryRegistrationCompleted, object userToken);
#endregion
}
}