/// /// Copyright (c) 2013-2020 Sensus Slovensko a.s. /// using System; using log4net; namespace TBF.BenchControl.Elde { public class QueryMeasurementEndOp : IOperation { private static readonly ILog log = LogManager.GetLogger(typeof(QueryMeasurementEndOp)); public override string ToString() { return string.Format("QueryMeasurementEndOp()"); } /// Set by the constructor readonly ControlBoardDev controlBoard; bool done; /// /// Events: MeasurementCompleted /// /// Event to be returned by Run() when completed OK public QueryMeasurementEndOp(ControlBoardDev controlBoardDev) { if (controlBoardDev == null) throw new ArgumentNullException("controlBoardDev"); this.controlBoard = controlBoardDev; done = false; log.Debug(this.ToString()); } /// Start this operation public void Start() { done = false; } /// Run this operation /// /// Event.FlowInDone or Event.FlowOutDone /// public Event Run() { if (done) return Event.MeasurementCompleted; if (0 != (controlBoard.StatusP & StatusP.TestCompleted)) { done = true; return Event.MeasurementCompleted; } return Event.None; } /// Stop this operation public void Stop() { } } }