Weighing: Add ICommandScale and IEventScale

This commit is contained in:
2024-02-10 18:43:45 +01:00
parent 68f1a2c091
commit 9ecad6aa79
8 changed files with 58 additions and 82 deletions

View File

@ -1,9 +1,8 @@
using System;
using System.Threading.Tasks;
namespace Elwig.Helpers.Weighing {
/// <summary>
/// Interface for controlling a industrial scale
/// Interface for controlling a industrial scale (industrial terminal, "IT")
/// </summary>
public interface IScale : IDisposable {
/// <summary>
@ -45,32 +44,5 @@ namespace Elwig.Helpers.Weighing {
/// Where to log the requests and responses from the scale to
/// </summary>
string? LogPath { get; }
/// <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();
}
}