Package org.eclipse.ecf.discovery

# Interface IServiceListener

public interface IServiceListener
Listener for receiving service events

Note these methods will be called asynchronously when notifications of remote changes are received by the provider implementation code. The provider is free to call the methods below with an arbitrary thread, so the implementation of these methods must be appropriately prepared.

For example, if the code implementing any of these methods must interact with user interface code, then it should use code such as the following to execute on the SWT UI thread:

            Display.getDefault().asyncExec(new Runnable() {
                    public void run() {
                    ... UI code here
                    }
            });

Further, the code in the implementations of these methods should not block via I/O operations or blocking UI calls.

## Method Summary

Modifier and Type
Method
Description
`void`
`serviceDiscovered(IServiceEvent anEvent)`
Notification that a service has been discovered (the service is fully resolved).
`void`
`serviceUndiscovered(IServiceEvent anEvent)`
Notification that a previously discovered service has been undiscovered.
`boolean`
`triggerDiscovery()`

## Method Details

### triggerDiscovery

boolean triggerDiscovery()

Returns:
  true iff this `IServiceListener` request re-discovery by the `IDiscoveryLocator`. The discovery `IServiceEvent` will be fired asynchronously.
Since:
  5.0

### serviceDiscovered

void serviceDiscovered(IServiceEvent anEvent)
Notification that a service has been discovered (the service is fully resolved).

Parameters:
  `anEvent` - Will not be `null`

### serviceUndiscovered

void serviceUndiscovered(IServiceEvent anEvent)
Notification that a previously discovered service has been undiscovered.

Parameters:
  `anEvent` - Will not be `null`