using System;
using System.Threading.Tasks;

namespace Elwig.Helpers.Weighing {
    public class InvalidScale : IScale {

        public string Manufacturer => "NONE";
        public string Model => "NONE";
        public string ScaleId { get; private set; }
        public int InternalScaleNr => 0;
        public bool IsReady => false;
        public bool HasFillingClearance => false;
        public int? WeightLimit => null;
        public string? LogPath => null;

        public InvalidScale(string id) {
            ScaleId = id;
        }

        public void Dispose() {
            GC.SuppressFinalize(this);
        }

        public Task<WeighingResult> Weigh() {
            throw new NotImplementedException();
        }

        public Task<WeighingResult> GetCurrentWeight() {
            throw new NotImplementedException();
        }

        public Task Empty() {
            throw new NotImplementedException();
        }

        public Task GrantFillingClearance() {
            throw new NotImplementedException();
        }

        public Task RevokeFillingClearance() {
            throw new NotImplementedException();
        }
    }
}