org.dvb.spi.selection
Interface SelectionProviderContext


public interface SelectionProviderContext

Platform implementations that wish to receive notifications from a SelectionProvider register an instance that implements this interface with the SelectionProvider.

Since:
MHP 1.1.3

Method Summary
 void serviceDescriptionAvailable(ServiceReference[] serviceReferences)
          Called by a source when service description information is available to offer that information to the platform implementation.
 void serviceListChanged(ServiceReference[] serviceReferences)
          Called by a source when the list of services changes.
 void updateService(ServiceReference service)
          Called by a source to update the details of a service it supports.
 

Method Detail

serviceListChanged

void serviceListChanged(ServiceReference[] serviceReferences)
Called by a source when the list of services changes. The new list replaces any previous list.

The services passed into this method shall be compared with the service list returned from the call to getServiceList when this provider was first registered. Where services are added, these shall be merged into the platform service list as defined in the description of the getServiceList method. Where services are removed, if the transport independent service is left with no transport dependent services then it shall be removed from the platform service list. In all cases where the platform service list changes, SIChangeEvents shall be generated to appropriate listeners.

Parameters:
serviceReferences - The ServiceReference instances for the available services. This array must not change after this method is invoked.

serviceDescriptionAvailable

void serviceDescriptionAvailable(ServiceReference[] serviceReferences)
Called by a source when service description information is available to offer that information to the platform implementation. The new list replaces any previous list.

Parameters:
serviceReferences - The ServiceReference instances for which descriptions are available. This array must not change after this method is invoked.

updateService

void updateService(ServiceReference service)
Called by a source to update the details of a service it supports. This includes changing the service between one whose location is already known and one whose location must be found when it is selected. It also includes changing the location of a service whose location is already known. ServiceReferences shall be matched using the transport independent and transport dependent names.

Parameters:
service - the new service reference
Throws:
java.lang.IllegalArgumentException - if a service with the same service identifier and transport independent locator has not been previously returned by this source to the implementation