Exemplo n.º 1
0
 public PuttyLauncherCommand(PuttyLoadSession session)
 {
     this.Name        = Localization.strings.PuttyLauncher_Name.Replace("{{session}}", session.Session);
     this.Description = Localization.strings.PuttyLauncher_Description.Replace("{{session}}", session.Session);
     this.Arguments   = session;
 }
Exemplo n.º 2
0
 public PuttyLauncherCommand(PuttyArgumentsBase arguments, string name, string description)
 {
     this.Arguments   = arguments;
     this.Name        = name;
     this.Description = description;
 }
        public ICommandBase GetCommand()
        {
            PuttyArgumentsBase args = null;

            if (rbSSH.IsChecked.Value)
            {
                args = new PuttySSH
                {
                    PrivateKey   = this.tbPrivateKey.Text,
                    ForwardAgent = this.cbForwardAgent.IsChecked.Value
                };
            }
            else if (rbTelnet.IsChecked.Value)
            {
                args = new PuttyTelnet();
            }
            else if (rbSerial.IsChecked.Value)
            {
                float stopBits;
                if (rbStopBits1.IsChecked.Value)
                {
                    stopBits = 1.0F;
                }
                else if (rbStopBits15.IsChecked.Value)
                {
                    stopBits = 1.5F;
                }
                else
                {
                    stopBits = 2.0F;
                }

                PuttySerialParity parity;
                if (rbParityNone.IsChecked.Value)
                {
                    parity = PuttySerialParity.None;
                }
                else if (rbParityOdd.IsChecked.Value)
                {
                    parity = PuttySerialParity.Odd;
                }
                else if (rbParityEven.IsChecked.Value)
                {
                    parity = PuttySerialParity.Even;
                }
                else if (rbParityMark.IsChecked.Value)
                {
                    parity = PuttySerialParity.Mark;
                }
                else
                {
                    parity = PuttySerialParity.Space;
                }

                PuttySerialFlowControl flow;
                if (rbFlowNone.IsChecked.Value)
                {
                    flow = PuttySerialFlowControl.None;
                }
                else if (rbFlowRTS_CTS.IsChecked.Value)
                {
                    flow = PuttySerialFlowControl.RTS_CTS;
                }
                else if (rbFlowXON_XOFF.IsChecked.Value)
                {
                    flow = PuttySerialFlowControl.XON_XOFF;
                }
                else
                {
                    flow = PuttySerialFlowControl.DSR_DTR;
                }

                args = new PuttySerial
                {
                    Hostname            = this.tbSerialLine.Text,
                    Verbose             = this.cbVerbose.IsChecked.Value,
                    SerialConfiguration = new PuttySerialConfiguration(
                        Convert.ToUInt16(numericBaudRate.Value),
                        Convert.ToByte(numericDataBits.Value),
                        stopBits, parity, flow)
                };

                return(new PuttyLauncherCommand(args, this.tbName.Text, this.tbDescription.Text));
            }
            else if (rbRaw.IsChecked.Value)
            {
                args = new PuttyRaw();
            }
            else if (rbRlogin.IsChecked.Value)
            {
                args = new PuttyRlogin();
            }

            args.Hostname = this.tbHostname.Text;
            args.Port     = Convert.ToUInt16(this.numericPort.Value);
            args.Username = this.tbUsername.Text;
            args.Verbose  = this.cbVerbose.IsChecked.Value;

            if (rbIPAuto.IsChecked.Value)
            {
                args.IPVersion = PuttyIPVersion.Auto;
            }
            else if (rbIPv4.IsChecked.Value)
            {
                args.IPVersion = PuttyIPVersion.IPv4;
            }
            else
            {
                args.IPVersion = PuttyIPVersion.IPv6;
            }

            return(new PuttyLauncherCommand(args, this.tbName.Text, this.tbDescription.Text));
        }