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