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