Package org.eclipse.remote.core

## Interface IRemoteServicesManager

    public interface IRemoteServicesManager

The main entry point into the remote services system. The remote services manager is an OSGi service. It provides a list of connection types and the global list of all connections.

Since:
  2.0
Restriction:
  This interface is not intended to be implemented by clients.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addRemoteConnectionChangeListener​(IRemoteConnectionChangeListener listener)` Add a global connection change listener that receives events for all connections.
`void` `fireRemoteConnectionChangeEvent​(RemoteConnectionChangeEvent event)` Used by connections and other components to notify the global connection change listeners of events.
`List<IRemoteConnectionType>` `getAllConnectionTypes()` Returns the list of all connection types including the local services.
`List<IRemoteConnection>` `getAllRemoteConnections()` Returns the list of all known remote connections.
`IRemoteConnectionType` `getConnectionType​(String id)` Get the connection type identified by the id
`IRemoteConnectionType` `getConnectionType​(URI uri)` Get the connection type that provides connections to locations identified by the URI.
`List<IRemoteConnectionType>` `getConnectionTypesByService​(Class<? extends IRemoteConnectionType.Service>... services)` Returns the list of all connection types that provide specific services.
`List<IRemoteConnectionType>` `getConnectionTypesSupporting​(Class<? extends IRemoteConnection.Service>... services)` Returns the list of all connection types that support connections that provide specific services.
`IRemoteConnectionType` `getLocalConnectionType()` Return the connection type used to access local resources.
`List<IRemoteConnectionType>` `getRemoteConnectionTypes()` Returns the list of connection types except for the local connection type.
`void` `removeRemoteConnectionChangeListener​(IRemoteConnectionChangeListener listener)` Remove the global connection change listener.

### Method Detail

#### getConnectionType

    IRemoteConnectionType getConnectionType​(String id)

Get the connection type identified by the id

Parameters:
  `id` - id of the connection type
Returns:
  connection type or null if the service can not be found

#### getConnectionType

    IRemoteConnectionType getConnectionType​(URI uri)

Get the connection type that provides connections to locations identified by the URI.

Parameters:
  `uri` - uri of locations to be accessed
Returns:
  the connection type that can be used to access the locations or null if no connection type is available for the uri.

#### getLocalConnectionType

    IRemoteConnectionType getLocalConnectionType()

Return the connection type used to access local resources.

Returns:
  the local services

#### getAllConnectionTypes

    List<IRemoteConnectionType> getAllConnectionTypes()

Returns the list of all connection types including the local services.

Returns:
  all connection types

#### getConnectionTypesSupporting

    List<IRemoteConnectionType> getConnectionTypesSupporting​(Class<? extends IRemoteConnection.Service>... services)

Returns the list of all connection types that support connections that provide specific services. The connections can provide additional services that are not included in the list, so this just guarantees the minimum set of services that will be supported.

Parameters:
  `services` - services provided by connections supported by this connection type
Returns:
  compatible connection types

#### getConnectionTypesByService

    List<IRemoteConnectionType> getConnectionTypesByService​(Class<? extends IRemoteConnectionType.Service>... services)

Returns the list of all connection types that provide specific services. The connection types can provide additional services that are not included in the list, so this just guarantees the minimum set of services that will be supported.

Parameters:
  `services` - services provided by this connection type
Returns:
  compatible connection types

#### getRemoteConnectionTypes

    List<IRemoteConnectionType> getRemoteConnectionTypes()

Returns the list of connection types except for the local connection type.

Returns:
  all connection types that are really remote

#### getAllRemoteConnections

    List<IRemoteConnection> getAllRemoteConnections()

Returns the list of all known remote connections.

Returns:
  all remote connections

#### addRemoteConnectionChangeListener

    void addRemoteConnectionChangeListener​(IRemoteConnectionChangeListener listener)

Add a global connection change listener that receives events for all connections.

Parameters:
  `listener` - global connection change listener to be added

#### removeRemoteConnectionChangeListener

    void removeRemoteConnectionChangeListener​(IRemoteConnectionChangeListener listener)

Remove the global connection change listener.

Parameters:
  `listener` - global connection change listener to be removed

#### fireRemoteConnectionChangeEvent

    void fireRemoteConnectionChangeEvent​(RemoteConnectionChangeEvent event)

Used by connections and other components to notify the global connection change listeners of events.

Parameters:
  `event` - connection change event