Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "PTP/designs/remote/API"

< PTP‎ | designs‎ | remote
(New page: This page provides a brief overview of the PTP remote services API. The purpose of this API is to provide a programming interface to remote services that is agnostic to the actual remote s...)
 
(Types of Services)
Line 5: Line 5:
 
The API is divided into two types of remote services: UI and non-UI. UI services are for activities such as file browsing that require use of the UI. Non-UI services are purely programmatic. The non-UI services can be used independently of the UI services.
 
The API is divided into two types of remote services: UI and non-UI. UI services are for activities such as file browsing that require use of the UI. Non-UI services are purely programmatic. The non-UI services can be used independently of the UI services.
  
=== Remote Services ===
+
== Remote Services Plugins ==
  
Plugin: org.eclipse.ptp.remote.core
+
The remote services are divided into two plugins:
  
==== PTPRemoteCorePlugin ====
+
* org.eclipse.ptp.remote.core
 +
* org.eclipse.ptp.remote.ui
 +
 
 +
== API ==
 +
 
 +
=== PTPRemoteCorePlugin ===
  
 
The PTPRemoteCorePlugin provides the main entry point for accessing remote services. Typically usage is to call getAllRemoteServices() to retrieve all the known service providers and allow the user to select from the list (or auto select). Once an IRemoteServices object has been obtained, it can be used to access all the remaining remote functionality.
 
The PTPRemoteCorePlugin provides the main entry point for accessing remote services. Typically usage is to call getAllRemoteServices() to retrieve all the known service providers and allow the user to select from the list (or auto select). Once an IRemoteServices object has been obtained, it can be used to access all the remaining remote functionality.
Line 19: Line 24:
 
; public IRemoteConnection getConnection(URI uri) : Retrieve a remote connection associated with a URI.
 
; public IRemoteConnection getConnection(URI uri) : Retrieve a remote connection associated with a URI.
  
==== IRemoteServices ====
+
=== IRemoteServices ===
  
 
The IRemoteServices interface is the main entry point into the remote functionality. From here it is possible to gain access to three types of remote services: connection, file, and process. Connection services are for managing connections to the remote system. File services are for copying and manipulating files remotely. Process services are for launching processes on the remote system.
 
The IRemoteServices interface is the main entry point into the remote functionality. From here it is possible to gain access to three types of remote services: connection, file, and process. Connection services are for managing connections to the remote system. File services are for copying and manipulating files remotely. Process services are for launching processes on the remote system.
Line 31: Line 36:
 
: public IRemoteProcessBuilder getProcessBuilder(IRemoteConnection conn, String... command)  : Get the process builder for the remote service provider. The process builder can be used to invoke the command specified by the argument strings.
 
: public IRemoteProcessBuilder getProcessBuilder(IRemoteConnection conn, String... command)  : Get the process builder for the remote service provider. The process builder can be used to invoke the command specified by the argument strings.
  
==== IRemoteConnectionManager ====
+
=== IRemoteConnectionManager ===
  
 
The IRemoteConnectionManager interface is for managing connections to remote systems.
 
The IRemoteConnectionManager interface is for managing connections to remote systems.

Revision as of 11:49, 22 April 2009

This page provides a brief overview of the PTP remote services API. The purpose of this API is to provide a programming interface to remote services that is agnostic to the actual remote services implementation. Current implementation supported are RSE and Remote Tools (light-weight ssh layer that is part of PTP). It also provides an implementation for the local system (where Eclipse is run).

Types of Services

The API is divided into two types of remote services: UI and non-UI. UI services are for activities such as file browsing that require use of the UI. Non-UI services are purely programmatic. The non-UI services can be used independently of the UI services.

Remote Services Plugins

The remote services are divided into two plugins:

  • org.eclipse.ptp.remote.core
  • org.eclipse.ptp.remote.ui

API

PTPRemoteCorePlugin

The PTPRemoteCorePlugin provides the main entry point for accessing remote services. Typically usage is to call getAllRemoteServices() to retrieve all the known service providers and allow the user to select from the list (or auto select). Once an IRemoteServices object has been obtained, it can be used to access all the remaining remote functionality.

public IRemoteServices[] getAllRemoteServices() 
Retrieve all the known remote service providers.
public IRemoteServices getRemoteServices(URI uri) 
Retrieve the remote service provider associated with a URI.
public IRemoteConnection getConnection(URI uri) 
Retrieve a remote connection associated with a URI.

IRemoteServices

The IRemoteServices interface is the main entry point into the remote functionality. From here it is possible to gain access to three types of remote services: connection, file, and process. Connection services are for managing connections to the remote system. File services are for copying and manipulating files remotely. Process services are for launching processes on the remote system.

public IRemoteConnectionManager getConnectionManager() 
Get the connection manager for the remote service provider.
public IRemoteFileManager getFileManager(IRemoteConnection conn)  
Get the file manager for the remote service provider.
public IRemoteProcessBuilder getProcessBuilder(IRemoteConnection conn, List<String>command)  : Get the process builder for the remote service provider. The process builder can be used to invoke the command specified by the argument list.
public IRemoteProcessBuilder getProcessBuilder(IRemoteConnection conn, String... command)  : Get the process builder for the remote service provider. The process builder can be used to invoke the command specified by the argument strings.

IRemoteConnectionManager

The IRemoteConnectionManager interface is for managing connections to remote systems.

Remote UI Services

public IRemoteUIServices getRemoteUIServices(IRemoteServices services) 
Retrieve the remote UI services associated with the service provider.

Back to the top