RSE
Release 3.4

org.eclipse.rse.services.terminals
Interface ITerminalService

All Superinterfaces:
IAdaptable, IService
All Known Implementing Classes:
AbstractDelegatingTerminalService, AbstractTerminalService

public interface ITerminalService
extends IService

Interface for getting Terminal Connections from a remote side, also known as terminal session with Streams. One ITerminalService instance is typically associated with one particular connection to a (potentially remote) system, such that the ITerminalService instance can also hold state data about that session, such as connected state, login and authentication information, configuration data or environment variables. Each launchTerminal(String, String, String[], String, String, IProgressMonitor) invocation, however, acts as a factory method such that it creates a new (remote) process and associated ITerminalShell connection.

Since:
org.eclipse.rse.services 3.1

Method Summary
 ITerminalShell launchTerminal(String ptyType, String encoding, String[] environment, String initialWorkingDirectory, String commandToRun, IProgressMonitor monitor)
          Launch a new terminal connection, also known as shell session with Streams.
 
Methods inherited from interface org.eclipse.rse.services.IService
getDescription, getName, initService, uninitService
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Method Detail

launchTerminal

ITerminalShell launchTerminal(String ptyType,
                              String encoding,
                              String[] environment,
                              String initialWorkingDirectory,
                              String commandToRun,
                              IProgressMonitor monitor)
                              throws SystemMessageException
Launch a new terminal connection, also known as shell session with Streams.

Parameters:
ptyType - requested terminal type for the new Terminal. Since not all Terminal implementations support specifying the Terminal Type, there is no guarantee that a particular setting has any effect. Use null to fall back to a default terminal type.
encoding - Stream encoding to use for sending initial working directory and initial commandToRun, and to return on ITerminalShell.getDefaultEncoding() request. Use null to fall back to a default encoding. The Terminal Service will make efforts to determine a proper default encoding on the remote side but this is not guaranteed to be correct.
environment - Array of environment variable Strings of the form "var=text". Since not all terminal implementations support the passing of environment variables, there is no guarantee that the created shell will actually have the specified environment set. Passing null is allowed in order to specify that no specific environment needs to be passed.
initialWorkingDirectory - initial working directory or empty String ("") if not relevant. The remote shell will launch in a directory of its own choice in that case (typically a user's home directory).
commandToRun - initial command to send to the remote side.
monitor - Progress Monitor for monitoring and cancellation during connection creation.
Returns:
the terminal connection object. Note that the connection may not actually be usable in case the remote side allows opening a channel but immediately closes it again. In this case, IBaseShell.getInputStream() will throw an exception or be closed from the very beginning.
Throws:
SystemMessageException - in case an error occurred or the user chose to cancel the operation via the progress monitor.

RSE
Release 3.4

Copyright (c) IBM Corporation and others 2000, 2012. All Rights Reserved.