using System; using System.Diagnostics; using TBF.BenchControl.Network.Telnet; namespace TBF.BenchControl.Network.Camera.CLP1611 { public class GrabImageOp : IOperation { readonly Camera camera; readonly Telnet.TelnetClient telnet; readonly string command; bool grabImageCommandSent; /// /// Events: Event.None or Event.Error /// /// CLP1611.Camera reference public GrabImageOp(Camera camera, Telnet.TelnetClient telnet, string command) { this.camera = camera; this.telnet = telnet; this.command = command; } public void Start() { grabImageCommandSent = false; } public Event Run() { if (!grabImageCommandSent) { if (telnet.State == TelnetClient.TelnetState.Inactive) { telnet.Enqueue(new Telnet.Command(Telnet.CmdAction.SEND_STRING, command)); grabImageCommandSent = true; } } return Event.None; } public void Stop() { if (grabImageCommandSent) { telnet.Enqueue(new Telnet.Command(Telnet.CmdAction.SEND_COMMAND, Telnet.TelnetClient.CtrlCCommand)); } } } }