public SshTerminal()

in shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshTerminal.java [43:136]


    public SshTerminal(Environment environment, InputStream input, OutputStream output, String encoding) throws IOException {
        super("Karaf SSH terminal",
              environment.getEnv().get(Environment.ENV_TERM),
              input,
              output,
              Charset.forName(encoding));
        this.environment = environment;
        this.environment.addSignalListener(this::handleSignal);
        for (Map.Entry<PtyMode, Integer> e : environment.getPtyModes().entrySet()) {
            switch (e.getKey()) {
                case VINTR:
                    attributes.setControlChar(ControlChar.VINTR, e.getValue());
                    break;
                case VQUIT:
                    attributes.setControlChar(ControlChar.VQUIT, e.getValue());
                    break;
                case VERASE:
                    attributes.setControlChar(ControlChar.VERASE, e.getValue());
                    break;
                case VKILL:
                    attributes.setControlChar(ControlChar.VKILL, e.getValue());
                    break;
                case VEOF:
                    attributes.setControlChar(ControlChar.VEOF, e.getValue());
                    break;
                case VEOL:
                    attributes.setControlChar(ControlChar.VEOL, e.getValue());
                    break;
                case VEOL2:
                    attributes.setControlChar(ControlChar.VEOL2, e.getValue());
                    break;
                case VSTART:
                    attributes.setControlChar(ControlChar.VSTART, e.getValue());
                    break;
                case VSTOP:
                    attributes.setControlChar(ControlChar.VSTOP, e.getValue());
                    break;
                case VSUSP:
                    attributes.setControlChar(ControlChar.VSUSP, e.getValue());
                    break;
                case VDSUSP:
                    attributes.setControlChar(ControlChar.VDSUSP, e.getValue());
                    break;
                case VREPRINT:
                    attributes.setControlChar(ControlChar.VREPRINT, e.getValue());
                    break;
                case VWERASE:
                    attributes.setControlChar(ControlChar.VWERASE, e.getValue());
                    break;
                case VLNEXT:
                    attributes.setControlChar(ControlChar.VLNEXT, e.getValue());
                    break;
                case VSTATUS:
                    attributes.setControlChar(ControlChar.VSTATUS, e.getValue());
                    break;
                case VDISCARD:
                    attributes.setControlChar(ControlChar.VDISCARD, e.getValue());
                    break;
                case ECHO:
                    attributes.setLocalFlag(LocalFlag.ECHO, e.getValue() != 0);
                    break;
                case ICANON:
                    attributes.setLocalFlag(LocalFlag.ICANON, e.getValue() != 0);
                    break;
                case ISIG:
                    attributes.setLocalFlag(LocalFlag.ISIG, e.getValue() != 0);
                    break;
                case ICRNL:
                    attributes.setInputFlag(InputFlag.ICRNL, e.getValue() != 0);
                    break;
                case INLCR:
                    attributes.setInputFlag(InputFlag.INLCR, e.getValue() != 0);
                    break;
                case IGNCR:
                    attributes.setInputFlag(InputFlag.IGNCR, e.getValue() != 0);
                    break;
                case OCRNL:
                    attributes.setOutputFlag(OutputFlag.OCRNL, e.getValue() != 0);
                    break;
                case ONLCR:
                    attributes.setOutputFlag(OutputFlag.ONLCR, e.getValue() != 0);
                    break;
                case ONLRET:
                    attributes.setOutputFlag(OutputFlag.ONLRET, e.getValue() != 0);
                    break;
                case OPOST:
                    attributes.setOutputFlag(OutputFlag.OPOST, e.getValue() != 0);
                    break;
            }
        }
        int w = Integer.parseInt(this.environment.getEnv().get(Environment.ENV_COLUMNS));
        int h = Integer.parseInt(this.environment.getEnv().get(Environment.ENV_LINES));
        setSize(new Size(w, h));
    }