using System; using System.Threading.Tasks; namespace Elwig.Helpers.Weighing { /// /// Interface for controlling a weighing 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(); /// /// Try to set date and time on the scale /// Task SetDateAndTime(DateTime dateTime); } }