示例#1
0
 public static TerminalParam CreateFromConfigNode(ConfigNode sec)
 {
     string type = sec["type"];
     TerminalParam param;
     if(type=="serial")
         param = new SerialTerminalParam();
     else if(type=="tcp") {
         ConnectionMethod cm = ParseMethod(sec["method"]);
         if(cm==ConnectionMethod.Telnet)
             param = new TelnetTerminalParam();
         else
             param = new SSHTerminalParam();
     }
     else if(type=="cygwin")
         param = new CygwinTerminalParam();
     else if(type=="sfu")
         param = new SFUTerminalParam();
     else
         throw new Exception("invalid format");
     param.Import(sec);
     return param;
 }
示例#2
0
 public override object Clone()
 {
     SFUTerminalParam p = new SFUTerminalParam();
     p.Home = _home;
     p.Shell = _shell;
     return p;
 }
        public CommandResult NewSFUConnectionWithDialog(SFUTerminalParam param)
        {
            if(!CheckPaneCount()) return CommandResult.Denied;

            if(SFUUtil.GuessRootDirectory().Length==0) return CommandResult.Failed;

            LocalShellLoginDialog dlg = new LocalShellLoginDialog();
            if(param!=null)
                dlg.ApplyParam(param);
            else
                dlg.ApplyParam(GApp.ConnectionHistory.TopSFUParam);

            if(GCUtil.ShowModalDialog(_frame, dlg)==DialogResult.OK) {
                ConnectionTag con = dlg.Result;
                if(con!=null) {
                    AddNewTerminal(con);
                    return CommandResult.Success;
                }
            }

            return CommandResult.Cancelled;
        }