All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.tv.service.transport.Transport Maven / Gradle / Ivy

/*
 * @(#)Transport.java	1.37 00/09/22
 *
 * Copyright 1998-2000 by Sun Microsystems, Inc.,
 * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
 * All rights reserved.
 * 
 * This software is the confidential and proprietary information
 * of Sun Microsystems, Inc. ("Confidential Information").  You
 * shall not disclose such Confidential Information and shall use
 * it only in accordance with the terms of the license agreement
 * you entered into with Sun.
 */

package javax.tv.service.transport;

import javax.tv.service.navigation.DeliverySystemType;


/**
 * This interface represents an individual content delivery mechanism.
 * A Transport serves as an access point for acquiring
 * information about services and their groupings.

* * A Transport may expose various types of * entities (e.g. bouquets, networks and/or transport streams) by * optionally implementing additional interfaces * (i.e. BouquetCollection, * NetworkCollection, and/or * TransportStreamCollection), depending on the particular * SI format used and the presence of optional elements and tables in * the SI data being broadcast.

* * @see BouquetCollection * @see NetworkCollection * @see TransportStreamCollection * * @see Optionally implemented interfaces */ public interface Transport { /** * Registers a ServiceDetailsChangeListener to be * notified of changes to ServiceDetails that are * carried on this Transport. Subsequent notification * is made via ServiceDetailsChangeEvent with this * Transport instance as the event source and an * SIChangeType of ADD, * REMOVE or MODIFY. Only changes to * ServiceDetails sd for which the caller * has javax.tv.service.ReadPermission(sd.getLocator()) * will be reported.

* * This method is only a request for notification. No guarantee is * provided that the SI database will detect all, or even any, SI * changes or whether such changes will be detected in a timely * fashion. Applications may indicate ServiceDetails * of particular interest via the method {@link * javax.tv.service.SIManager#registerInterest}.

* * If the specified ServiceDetailsChangeListener is * already registered, no action is performed. * * @param listener An ServiceDetailsChangeListener to be * notified about changes related to ServiceDetails * carried on this Transport. * * @see ServiceDetailsChangeEvent * @see javax.tv.service.SIManager#registerInterest * @see javax.tv.service.ReadPermission */ public void addServiceDetailsChangeListener(ServiceDetailsChangeListener listener); /** * Called to unregister an * ServiceDetailsChangeListener. If the specified * ServiceDetailsChangeListener is not registered, no * action is performed. * * @param listener A previously registered listener. */ public void removeServiceDetailsChangeListener(ServiceDetailsChangeListener listener); /** * Reports the type of mechanism by which this * Transport delivers content. * * @return The delivery system type of this transport. */ public DeliverySystemType getDeliverySystemType(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy