using System.Threading.Tasks;
namespace Elwig.Helpers.Weighing {
///
/// Interface for controlling a a scale which responds to commands sent to it
///
public interface ICommandScale : IScale {
///
/// Get the current weight on the scale without performing a weighing process
///
/// Result of the weighing process (probably without a weighing id)
Task GetCurrentWeight();
///
/// Perform a weighing process
///
/// Result of the weighing process (including a weighing id)
Task Weigh();
///
/// Empty the scale container or grant clearance to do so
///
Task Empty();
///
/// Grant clearance to fill the scale container
///
Task GrantFillingClearance();
///
/// Revoke clearance to fill the scale container
///
Task RevokeFillingClearance();
}
}