Package org.eclipse.ui.services

## Interface IServiceWithSources

All Superinterfaces:
  `IDisposable`

All Known Subinterfaces:
  `IContextService`, `IEvaluationService`, `IHandlerService`, `IMenuService`

    public interface IServiceWithSources
    extends IDisposable

A service that responds to changes in one or more sources. These sources can be plugged into the service. Sources represent a common event framework for services.

Clients must not extend or implement.

Since:
  3.2

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addSourceProvider​(ISourceProvider provider)` Adds a source provider to this service.
`void` `removeSourceProvider​(ISourceProvider provider)` Removes a source provider from this service.

### Methods inherited from interface org.eclipse.ui.services.IDisposable

`dispose`

### Method Detail

#### addSourceProvider

    void addSourceProvider​(ISourceProvider provider)

Adds a source provider to this service. A source provider will notify the service when the source it provides changes. An example of a source might be an active editor or the current selection. This amounts to a pluggable state tracker for the service.

Parameters:
  `provider` - The provider to add; must not be `null`.

#### removeSourceProvider

    void removeSourceProvider​(ISourceProvider provider)

Removes a source provider from this service. Most of the time, this method call is not required as source providers typically share the same life span as the workbench itself.

Parameters:
  `provider` - The provider to remove; must not be `null`.