mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-14 20:45:22 +02:00
[258631] moved public classes from org.eclipse.rse.internal.services.terminals to org.eclipse.rse.services.terminals package.
This commit is contained in:
parent
afd9bf1a3f
commit
6d6e00a016
33 changed files with 132 additions and 146 deletions
|
@ -19,9 +19,9 @@ import org.eclipse.rse.internal.services.ssh.ISshService;
|
|||
import org.eclipse.rse.internal.services.ssh.ISshSessionProvider;
|
||||
import org.eclipse.rse.internal.services.ssh.SshServiceResources;
|
||||
import org.eclipse.rse.internal.services.ssh.shell.SshShellService;
|
||||
import org.eclipse.rse.internal.services.terminals.AbstractTerminalService;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.terminals.AbstractTerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
|
||||
/**
|
||||
* A Terminal Service for ssh.
|
||||
|
|
|
@ -27,11 +27,11 @@ import com.jcraft.jsch.ChannelShell;
|
|||
import com.jcraft.jsch.Session;
|
||||
|
||||
import org.eclipse.rse.internal.services.ssh.ISshSessionProvider;
|
||||
import org.eclipse.rse.internal.services.terminals.AbstractTerminalShell;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.clientserver.PathUtility;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.files.RemoteFileException;
|
||||
import org.eclipse.rse.services.terminals.AbstractTerminalShell;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
|
||||
/**
|
||||
* A remote shell connection supporting Streams for I/O.
|
||||
|
|
|
@ -20,10 +20,10 @@ import org.eclipse.rse.internal.services.shells.TerminalShellService;
|
|||
import org.eclipse.rse.internal.services.telnet.ITelnetService;
|
||||
import org.eclipse.rse.internal.services.telnet.ITelnetSessionProvider;
|
||||
import org.eclipse.rse.internal.services.telnet.TelnetServiceResources;
|
||||
import org.eclipse.rse.internal.services.terminals.AbstractTerminalService;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.shells.IShellService;
|
||||
import org.eclipse.rse.services.terminals.AbstractTerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
|
||||
/**
|
||||
* A Terminal Service for telnet.
|
||||
|
|
|
@ -30,11 +30,11 @@ import org.apache.commons.net.telnet.TelnetOption;
|
|||
import org.apache.commons.net.telnet.TerminalTypeOptionHandler;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.rse.internal.services.telnet.ITelnetSessionProvider;
|
||||
import org.eclipse.rse.internal.services.terminals.AbstractTerminalShell;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.clientserver.PathUtility;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.files.RemoteFileException;
|
||||
import org.eclipse.rse.services.terminals.AbstractTerminalShell;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
|
||||
/**
|
||||
* A remote shell connection supporting Streams for I/O.
|
||||
|
|
10
rse/plugins/org.eclipse.rse.services/.settings/.api_filters
Normal file
10
rse/plugins/org.eclipse.rse.services/.settings/.api_filters
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component id="org.eclipse.rse.services" version="2">
|
||||
<resource path="src/org/eclipse/rse/internal/services/terminals/ProcessBaseShell.java" type="org.eclipse.rse.internal.services.terminals.ProcessBaseShell">
|
||||
<filter id="337682486">
|
||||
<message_arguments>
|
||||
<message_argument value="org.eclipse.rse.internal.services.terminals.ProcessBaseShell"/>
|
||||
</message_arguments>
|
||||
</filter>
|
||||
</resource>
|
||||
</component>
|
|
@ -25,5 +25,6 @@ Export-Package: org.eclipse.rse.internal.services;x-internal:=true,
|
|||
org.eclipse.rse.services.files,
|
||||
org.eclipse.rse.services.processes,
|
||||
org.eclipse.rse.services.search,
|
||||
org.eclipse.rse.services.shells
|
||||
org.eclipse.rse.services.shells,
|
||||
org.eclipse.rse.services.terminals
|
||||
Bundle-RequiredExecutionEnvironment: J2SE-1.4
|
||||
|
|
|
@ -16,7 +16,7 @@ Anna Dushistova (MontaVista)- initial API and implementation
|
|||
<extension
|
||||
point="org.eclipse.core.runtime.adapters">
|
||||
<factory
|
||||
adaptableType="org.eclipse.rse.internal.services.terminals.ITerminalService"
|
||||
adaptableType="org.eclipse.rse.services.terminals.ITerminalService"
|
||||
class="org.eclipse.rse.internal.services.shells.TerminalShellAdapterFactory">
|
||||
<adapter
|
||||
type="org.eclipse.rse.services.shells.IShellService">
|
||||
|
|
|
@ -32,10 +32,10 @@ import java.io.PrintWriter;
|
|||
import java.nio.charset.Charset;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.services.clientserver.PathUtility;
|
||||
import org.eclipse.rse.services.shells.AbstractHostShell;
|
||||
import org.eclipse.rse.services.shells.IHostShellOutputReader;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
|
||||
/**
|
||||
* @since 3.1
|
||||
|
|
|
@ -12,8 +12,8 @@ package org.eclipse.rse.internal.services.shells;
|
|||
|
||||
import org.eclipse.core.runtime.IAdapterFactory;
|
||||
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.shells.IShellService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
|
||||
/**
|
||||
* @since 3.1
|
||||
|
|
|
@ -26,11 +26,11 @@ import org.eclipse.core.runtime.IAdaptable;
|
|||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.PlatformObject;
|
||||
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.shells.AbstractShellService;
|
||||
import org.eclipse.rse.services.shells.IHostShell;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
|
||||
/**
|
||||
* @since 3.1
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
|
@ -16,18 +17,12 @@ import java.io.OutputStream;
|
|||
|
||||
import org.eclipse.core.runtime.PlatformObject;
|
||||
|
||||
import org.eclipse.rse.services.terminals.IBaseShell;
|
||||
|
||||
/**
|
||||
* A wrapper for Java {@link Process} objects to give more convenient access to
|
||||
* them through the {@link IBaseShell} interface.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
*/
|
||||
public class ProcessBaseShell extends PlatformObject implements IBaseShell {
|
||||
|
|
|
@ -8,14 +8,7 @@
|
|||
<title>Package-level Javadoc</title>
|
||||
</head>
|
||||
<body>
|
||||
<strong>PROVISIONAL</strong> Application programming interface for the RSE Base Shell and Terminal Services.
|
||||
<p>
|
||||
<strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
part of a work in progress. There is no guarantee that this API will work or
|
||||
that it will remain the same. Please do not use this API without consulting
|
||||
with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
team.
|
||||
</p>
|
||||
Application programming interface for the RSE Base Shell and Terminal Services.
|
||||
<h2>
|
||||
Package Specification</h2>
|
||||
<p>
|
||||
|
@ -24,40 +17,10 @@ for shell or terminal connections. The classes in this package are especially de
|
|||
to be extendable by means of the <b>Decorator</b> pattern as well as the <b>Adapter</b>
|
||||
pattern:
|
||||
<ul>
|
||||
<li><code><a href="IBaseShell.html">IBaseShell</a></code>
|
||||
is the basic interface for communicating with a (potentially remote) process
|
||||
through a channel supporting Streams. The Interface is modeled after the
|
||||
<code><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Process.html">java.lang.Process</a></code>
|
||||
class, but provides some nice enhancements such as a timeout for the
|
||||
<code>waitFor()</code> method, as well as an <code>isActive()</code>
|
||||
method.</li>
|
||||
<li><code><a href="ProcessBaseShell.html">ProcessBaseShell</a></code>
|
||||
is a sample class implementing IBaseShell, that wraps an existing
|
||||
<code><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Process.html">java.lang.Process</a></code>
|
||||
object in the IBaseShell interface for easier consumption.</li>
|
||||
<li><code><a href="ITerminalShell.html">ITerminalShell</a></code>
|
||||
extends IBaseShell, adding methods specific to the presentation of the data
|
||||
transferred from the (remote) process: it provides for getDefaultEncoding(),
|
||||
getPtyType(), isLocalEcho() as well as setTerminalSize() methods.</li>
|
||||
<li><code><a href="AbstractTerminalShell.html">AbstractTerminalShell</a></code>
|
||||
is an abstract base class that implementers of ITerminalShell must extend.
|
||||
It provides default implementations of all methods where possible, and
|
||||
ensures that future evolving of the ITerminalShell interface
|
||||
can be done without breaking binary compatibility with extenders implementing it.</li>
|
||||
<li><code><a href="BaseShellDecorator.html">BaseShellDecorator</a></code> and
|
||||
<code><a href="">TerminalShellDecorator</a></code> abstract base
|
||||
classes should be used when clients want to add functionality by decorating
|
||||
an existing IBaseShell or ITerminalShell object they have. Again, extending
|
||||
these not only saves the extender typing default delegation methods, but also
|
||||
ensures that they remain binary compatible in case the interfaces evolve.</li>
|
||||
<li><code><a href="ITerminalService.html">ITerminalService</a></code>
|
||||
is the RSE Service Interface, and currently only
|
||||
provides one factory method <code>launchTerminal()</code> for creating
|
||||
a new Terminal Connection.
|
||||
<code><a href="">AbstractTerminalService</a></code> must be used as base
|
||||
class by extenders who wish to implement the ITerminalService, in order to ensure
|
||||
binary compatibility in case the interface evolves - even though
|
||||
the AbstractTerminalService is currently empty.</li>
|
||||
</ul>
|
||||
The classes and interfaces in this package are designed to have only minimal
|
||||
dependency into Eclipse core APIs, such that Services can eventually be re-used in
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
package org.eclipse.rse.services.terminals;
|
||||
|
||||
import org.eclipse.rse.services.AbstractService;
|
||||
|
||||
|
@ -21,16 +22,8 @@ import org.eclipse.rse.services.AbstractService;
|
|||
* instance, be adding state of the terminal service or capabilities for getting
|
||||
* environment variables.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @see ITerminalService
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
* @since org.eclipse.rse.services 3.1
|
||||
*/
|
||||
public abstract class AbstractTerminalService extends AbstractService implements ITerminalService {
|
||||
|
|
@ -7,14 +7,16 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
package org.eclipse.rse.services.terminals;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.eclipse.core.runtime.PlatformObject;
|
||||
|
||||
|
||||
/**
|
||||
* Abstract base class for clients to create an ITerminalShell instance.
|
||||
*
|
||||
|
@ -23,15 +25,7 @@ import org.eclipse.core.runtime.PlatformObject;
|
|||
* base class rather than implementing ITerminalShell directly, in order to
|
||||
* remain compatible when the ITerminalShell interface is evolved in the future.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
* @since org.eclipse.rse.services 3.1
|
||||
*/
|
||||
public abstract class AbstractTerminalShell extends PlatformObject implements ITerminalShell {
|
||||
|
|
@ -7,15 +7,17 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
package org.eclipse.rse.services.terminals;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import org.eclipse.core.runtime.PlatformObject;
|
||||
|
||||
|
||||
/**
|
||||
* Abstract base class for clients to decorate an IBaseShell instance they have
|
||||
* with additional functionality.
|
||||
|
@ -25,15 +27,7 @@ import org.eclipse.core.runtime.PlatformObject;
|
|||
* and output streams for some well-known data that gives such additional
|
||||
* knowledge.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
* @since org.eclipse.rse.services 3.1
|
||||
*/
|
||||
public abstract class BaseShellDecorator extends PlatformObject implements IBaseShell {
|
||||
|
|
@ -7,9 +7,10 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
package org.eclipse.rse.services.terminals;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
@ -17,6 +18,8 @@ import java.io.OutputStream;
|
|||
import org.eclipse.core.runtime.IAdaptable;
|
||||
import org.eclipse.core.runtime.PlatformObject;
|
||||
|
||||
import org.eclipse.rse.internal.services.terminals.ProcessBaseShell;
|
||||
|
||||
/**
|
||||
* A basic shell, representing the connection to some process that may be
|
||||
* running local or remote. Clients may implement this interface.
|
||||
|
@ -34,18 +37,10 @@ import org.eclipse.core.runtime.PlatformObject;
|
|||
* functionality easily by instantiating their subclassed variant of
|
||||
* {@link BaseShellDecorator}.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @see java.lang.Process
|
||||
* @see ProcessBaseShell
|
||||
* @see org.eclipse.rse.internal.services.terminals.ProcessBaseShell
|
||||
* @see BaseShellDecorator
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
* @since org.eclipse.rse.services 3.1
|
||||
*/
|
||||
public interface IBaseShell extends IAdaptable {
|
||||
|
|
@ -7,9 +7,10 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
package org.eclipse.rse.services.terminals;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
|
@ -35,15 +36,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
|||
* Clients must subclass the {@link AbstractTerminalService} class
|
||||
* rather than implementing this interface directly.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
* @since org.eclipse.rse.services 3.1
|
||||
*
|
||||
*/
|
||||
public interface ITerminalService extends IService {
|
|
@ -7,9 +7,10 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
package org.eclipse.rse.services.terminals;
|
||||
|
||||
import org.eclipse.rse.services.shells.IHostShell;
|
||||
|
||||
|
@ -35,19 +36,11 @@ import org.eclipse.rse.services.shells.IHostShell;
|
|||
* or {@link TerminalShellDecorator} classes rather than
|
||||
* implementing this interface directly.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @see IBaseShell
|
||||
* @see ITerminalService
|
||||
* @see AbstractTerminalShell
|
||||
* @see TerminalShellDecorator
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
* @since org.eclipse.rse.services 3.1
|
||||
*/
|
||||
public interface ITerminalShell extends IBaseShell {
|
||||
|
|
@ -7,9 +7,11 @@
|
|||
*
|
||||
* Contributors:
|
||||
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||
* Anna Dushistova (MontaVista) - [258631][api] ITerminalService should be public API
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.services.terminals;
|
||||
package org.eclipse.rse.services.terminals;
|
||||
|
||||
|
||||
/**
|
||||
* Abstract base class for clients to decorate an ITerminalShell instance they
|
||||
|
@ -20,15 +22,7 @@ package org.eclipse.rse.internal.services.terminals;
|
|||
* and output streams for some well-known data that gives such additional
|
||||
* knowledge.
|
||||
*
|
||||
* <p>
|
||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
||||
* part of a work in progress. There is no guarantee that this API will work or
|
||||
* that it will remain the same. Please do not use this API without consulting
|
||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
||||
* team.
|
||||
* </p>
|
||||
*
|
||||
* @since org.eclipse.rse.services 3.0
|
||||
* @since org.eclipse.rse.services 3.1
|
||||
*/
|
||||
public abstract class TerminalShellDecorator extends BaseShellDecorator implements ITerminalShell {
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Martin Oberhuber (Wind River)">
|
||||
<meta name="Copyright" content="Copyright (c) 2008 Wind River Systems, Inc. and others.">
|
||||
<meta name="License" content="Made available under the terms of the Eclipse Public License v1.0.">
|
||||
<title>Package-level Javadoc</title>
|
||||
</head>
|
||||
<body>
|
||||
Application programming interface for the RSE Base Shell and Terminal Services.
|
||||
<h2>
|
||||
Package Specification</h2>
|
||||
<p>
|
||||
The RSE Terminal Services packages provides interfaces and basic utility classes
|
||||
for shell or terminal connections. The classes in this package are especially designed
|
||||
to be extendable by means of the <b>Decorator</b> pattern as well as the <b>Adapter</b>
|
||||
pattern:
|
||||
<ul>
|
||||
<li><code><a href="IBaseShell.html">IBaseShell</a></code>
|
||||
is the basic interface for communicating with a (potentially remote) process
|
||||
through a channel supporting Streams. The Interface is modeled after the
|
||||
<code><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Process.html">java.lang.Process</a></code>
|
||||
class, but provides some nice enhancements such as a timeout for the
|
||||
<code>waitFor()</code> method, as well as an <code>isActive()</code>
|
||||
method.</li>
|
||||
<li><code><a href="ITerminalShell.html">ITerminalShell</a></code>
|
||||
extends IBaseShell, adding methods specific to the presentation of the data
|
||||
transferred from the (remote) process: it provides for getDefaultEncoding(),
|
||||
getPtyType(), isLocalEcho() as well as setTerminalSize() methods.</li>
|
||||
<li><code><a href="AbstractTerminalShell.html">AbstractTerminalShell</a></code>
|
||||
is an abstract base class that implementers of ITerminalShell must extend.
|
||||
It provides default implementations of all methods where possible, and
|
||||
ensures that future evolving of the ITerminalShell interface
|
||||
can be done without breaking binary compatibility with extenders implementing it.</li>
|
||||
<li><code><a href="BaseShellDecorator.html">BaseShellDecorator</a></code> and
|
||||
<code><a href="">TerminalShellDecorator</a></code> abstract base
|
||||
classes should be used when clients want to add functionality by decorating
|
||||
an existing IBaseShell or ITerminalShell object they have. Again, extending
|
||||
these not only saves the extender typing default delegation methods, but also
|
||||
ensures that they remain binary compatible in case the interfaces evolve.</li>
|
||||
<li><code><a href="ITerminalService.html">ITerminalService</a></code>
|
||||
is the RSE Service Interface, and currently only
|
||||
provides one factory method <code>launchTerminal()</code> for creating
|
||||
a new Terminal Connection.
|
||||
<code><a href="">AbstractTerminalService</a></code> must be used as base
|
||||
class by extenders who wish to implement the ITerminalService, in order to ensure
|
||||
binary compatibility in case the interface evolves - even though
|
||||
the AbstractTerminalService is currently empty.</li>
|
||||
</ul>
|
||||
The classes and interfaces in this package are designed to have only minimal
|
||||
dependency into Eclipse core APIs, such that Services can eventually be re-used in
|
||||
environments outside Eclipse. Especially
|
||||
<code><a href="IBaseShell.html">IBaseShell</a></code>, along with
|
||||
<code><a href="ProcessBaseShell.html">ProcessBaseShell</a></code> and
|
||||
<code><a href="BaseShellDecorator.html">BaseShellDecorator</a></code> are usable in
|
||||
any environment, provided that mock objects are provided for Eclipse
|
||||
IAdaptable and PlatformObject.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -16,10 +16,10 @@ package org.eclipse.rse.internal.subsystems.terminals.core;
|
|||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.services.IService;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
|
||||
public class DelegatingTerminalService implements ITerminalService {
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ package org.eclipse.rse.internal.subsystems.terminals.core;
|
|||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.subsystems.IConnectorService;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystem;
|
||||
import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystemConfiguration;
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@ package org.eclipse.rse.internal.subsystems.terminals.core;
|
|||
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.IService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem;
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,7 +12,7 @@ package org.eclipse.rse.subsystems.terminals.core;
|
|||
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
|
||||
public interface ITerminalServiceSubSystemConfiguration extends
|
||||
ISubSystemConfiguration {
|
||||
|
|
|
@ -30,7 +30,7 @@ import org.eclipse.rse.core.subsystems.ICommunicationsListener;
|
|||
import org.eclipse.rse.core.subsystems.IConnectorService;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||
import org.eclipse.rse.core.subsystems.SubSystem;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.subsystems.terminals.core.elements.TerminalElement;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ import java.util.Map;
|
|||
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.subsystems.SubSystemConfiguration;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.IService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
|
||||
public abstract class TerminalServiceSubSystemConfiguration extends
|
||||
SubSystemConfiguration implements
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
package org.eclipse.rse.subsystems.terminals.core.elements;
|
||||
|
||||
import org.eclipse.rse.core.subsystems.AbstractResource;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem;
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,7 +18,7 @@ import org.eclipse.rse.internal.connectorservice.ssh.SshConnectorService;
|
|||
import org.eclipse.rse.internal.connectorservice.ssh.SshConnectorServiceManager;
|
||||
import org.eclipse.rse.internal.services.ssh.ISshService;
|
||||
import org.eclipse.rse.internal.services.ssh.terminal.SshTerminalService;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystem;
|
||||
import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystemConfiguration;
|
||||
|
||||
|
|
|
@ -20,9 +20,9 @@ import org.eclipse.rse.core.RSECorePlugin;
|
|||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.internal.terminals.ui.views.RSETerminalConnector;
|
||||
import org.eclipse.rse.internal.terminals.ui.views.TerminalViewTab;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem;
|
||||
import org.eclipse.rse.subsystems.terminals.core.elements.TerminalElement;
|
||||
import org.eclipse.swt.custom.CTabItem;
|
||||
|
|
|
@ -17,10 +17,10 @@ import java.io.InterruptedIOException;
|
|||
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.internal.terminals.ui.TerminalServiceHelper;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystem;
|
||||
import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystem;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
|
||||
|
|
|
@ -16,7 +16,7 @@ import java.io.OutputStream;
|
|||
|
||||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl;
|
||||
|
||||
|
|
|
@ -38,10 +38,10 @@ import org.eclipse.core.runtime.IAdaptable;
|
|||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.internal.terminals.ui.Activator;
|
||||
import org.eclipse.rse.internal.terminals.ui.actions.RemoveTerminalAction;
|
||||
import org.eclipse.rse.internal.terminals.ui.actions.ShowInTerminalViewAction;
|
||||
import org.eclipse.rse.services.terminals.ITerminalShell;
|
||||
import org.eclipse.rse.subsystems.terminals.core.ITerminalServiceSubSystemConfiguration;
|
||||
import org.eclipse.rse.subsystems.terminals.core.elements.TerminalElement;
|
||||
import org.eclipse.rse.ui.ISystemContextMenuConstants;
|
||||
|
|
|
@ -19,9 +19,9 @@ import junit.framework.TestSuite;
|
|||
import org.eclipse.rse.core.RSECorePlugin;
|
||||
import org.eclipse.rse.core.model.IHost;
|
||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||
import org.eclipse.rse.internal.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.shells.IShellService;
|
||||
import org.eclipse.rse.services.terminals.ITerminalService;
|
||||
import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystem;
|
||||
|
||||
public class TerminalShellServiceTest extends ShellServiceTest{
|
||||
|
|
Loading…
Add table
Reference in a new issue