public void LaunchTerminalSession(object sender, EventArgs e)
        {
            var terminalForm = new frmTerminal();

            terminalForm.Show();
            _emulator = terminalForm.OpenEmulator;
        }
        public async override Task RunCommand(object sender)
        {
            var engine = (IAutomationEngineInstance)sender;

            int mouseX = 0, mouseY = 0;

            if (!string.IsNullOrEmpty(v_XMousePosition))
            {
                mouseX = (int)await v_XMousePosition.EvaluateCode(engine);
            }

            if (!string.IsNullOrEmpty(v_YMousePosition))
            {
                mouseY = (int)await v_YMousePosition.EvaluateCode(engine);
            }

            var          vTimeout       = ((int)await v_Timeout.EvaluateCode(engine)) * 1000;
            OpenEmulator terminalObject = (OpenEmulator)((OBAppInstance)await v_InstanceName.EvaluateCode(engine)).Value;

            if (terminalObject.TN3270 == null || !terminalObject.TN3270.IsConnected)
            {
                throw new Exception($"Terminal Instance {v_InstanceName} is not connected.");
            }

            TnKey selectedKey = (TnKey)Enum.Parse(typeof(TnKey), v_TerminalKey);

            if (!string.IsNullOrEmpty(v_XMousePosition) && !string.IsNullOrEmpty(v_YMousePosition))
            {
                terminalObject.TN3270.SetCursor(mouseX, mouseY);
            }

            terminalObject.TN3270.SendKey(false, selectedKey, vTimeout);
            terminalObject.Redraw();
        }
        public void LaunchTerminalSession(string host, string port, string terminalType, bool useSsl)
        {
            var terminalForm = new frmTerminal(host, port, terminalType, useSsl);

            terminalForm.Show();

            if (terminalForm.TN3270 == null || !terminalForm.TN3270.IsConnected)
            {
                throw new Exception($"Unable to connect to Host: '{host}', Port: '{port}'");
            }

            _emulator = terminalForm.OpenEmulator;
        }
        public override void RunCommand(object sender)
        {
            var          engine         = (IAutomationEngineInstance)sender;
            var          mouseX         = v_XMousePosition.ConvertUserVariableToString(engine);
            var          mouseY         = v_YMousePosition.ConvertUserVariableToString(engine);
            var          vTimeout       = int.Parse(v_Timeout.ConvertUserVariableToString(engine)) * 1000;
            OpenEmulator terminalObject = (OpenEmulator)v_InstanceName.GetAppInstance(engine);

            if (terminalObject.TN3270 == null || !terminalObject.TN3270.IsConnected)
            {
                throw new Exception($"Terminal Instance {v_InstanceName} is not connected.");
            }

            TnKey selectedKey = (TnKey)Enum.Parse(typeof(TnKey), v_TerminalKey);

            if (!string.IsNullOrEmpty(mouseX) && !string.IsNullOrEmpty(mouseY))
            {
                terminalObject.TN3270.SetCursor(int.Parse(mouseX), int.Parse(mouseY));
            }

            terminalObject.TN3270.SendKey(false, selectedKey, vTimeout);
            terminalObject.Redraw();
        }