/*
 * Copyright 2015 Red Hat, Inc.
 *
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License v1.0
 *  and Apache License v2.0 which accompanies this distribution.
 *
 *  The Eclipse Public License is available at
 *  http://www.eclipse.org/legal/epl-v10.html
 *
 *  The Apache License v2.0 is available at
 *  http://www.opensource.org/licenses/apache2.0.php
 *
 *  You may elect to redistribute this code under either of these licenses.
 *
 *
 * Copyright (c) 2015 The original author or authors
 * ------------------------------------------------------
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *     The Eclipse Public License is available at
 *     http://www.eclipse.org/legal/epl-v10.html
 *
 *     The Apache License v2.0 is available at
 *     http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 *
 */

package io.vertx.ext.shell.term;

import io.vertx.codegen.annotations.Fluent;
import io.vertx.codegen.annotations.VertxGen;
import io.vertx.core.Handler;
import io.vertx.ext.shell.term.impl.PtyImpl;

A pseudo terminal used for controlling a Tty. This interface acts as a pseudo terminal master, slave() returns the assocated slave pseudo terminal.
Author:Julien Viet
/** * A pseudo terminal used for controlling a {@link Tty}. This interface acts as a pseudo * terminal master, {@link #slave()} returns the assocated slave pseudo terminal. * * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */
@VertxGen public interface Pty {
Create a new pseudo terminal with no terminal type.
See Also:
  • create(String)
/** * Create a new pseudo terminal with no terminal type. * * @see #create(String) */
static Pty create() { return new PtyImpl(null); }
Create a new pseudo terminal.
Params:
  • terminalType – the terminal type, for instance vt100
Returns:the created pseudo terminal
/** * Create a new pseudo terminal. * * @param terminalType the terminal type, for instance {@literal vt100} * @return the created pseudo terminal */
static Pty create(String terminalType) { return new PtyImpl(terminalType); }
Set the standard out handler of the pseudo terminal.
Params:
  • handler – the standard output
Returns:this current object
/** * Set the standard out handler of the pseudo terminal. * * @param handler the standard output * @return this current object */
@Fluent Pty stdoutHandler(Handler<String> handler);
Write data to the slave standard input of the pseudo terminal.
Params:
  • data – the data to write
Returns:this current object
/** * Write data to the slave standard input of the pseudo terminal. * * @param data the data to write * @return this current object */
@Fluent Pty write(String data);
Resize the terminal.
Returns:this current object
/** * Resize the terminal. * * @return this current object */
@Fluent Pty setSize(int width, int height);
Returns:the pseudo terminal slave
/** * @return the pseudo terminal slave */
Tty slave(); }