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

javax.tv.service.navigation.ServiceDetails Maven / Gradle / Ivy

/*
 * @(#)ServiceDetails.java	1.36 00/09/27
 *
 * 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.navigation;

import javax.tv.service.*;
import javax.tv.service.guide.ProgramSchedule;


/**
 * This interface provides access to service meta-data. It provides more
 * information about a Service object and represents a
 * specific instance of a service bound to a transport stream. 

* * A ServiceDetails object may optionally implement the * ServiceNumber interface to report service numbers as * assigned by the broadcaster of the service.

* * A ServiceDetails object may optionally implement the * ServiceProviderInformation interface to report information * concerning the service provider. * * @see javax.tv.service.Service * * @see javax.tv.service.ServiceNumber * * @see ServiceProviderInformation * * @see Optionally implemented interfaces */ public interface ServiceDetails extends SIElement, CAIdentification { /** * Retrieves a textual description of this service if available. * This method delivers its results asynchronously. * * @param requestor The SIRequestor to be notified * when this retrieval operation completes. * * @return An SIRequest object identifying this * asynchronous retrieval request. * * @see ServiceDescription */ public SIRequest retrieveServiceDescription(SIRequestor requestor); /** * Returns the type of this service, for example, "digital * television", "digital radio", "NVOD", etc. These values can be * mapped to the ATSC service type in the VCT table and the DVB * service type in the Service Descriptor. * * @return Service type of this service. */ public ServiceType getServiceType(); /** * Retrieves an array of elementary components which are part of * this service. The array will only contain * ServiceComponent instances c for which * the caller has * javax.tv.service.ReadPermission(c.getLocator()). If * no ServiceComponent instances meet this criteria, * this method will result in an SIRequestFailureType of * DATA_UNAVAILABLE. * * This method delivers its results asynchronously. * * @param requestor The SIRequestor to be notified * when this retrieval operation completes. * * @return An SIRequest object identifying this * asynchronous retrieval request. * * @see ServiceComponent * @see javax.tv.service.ReadPermission */ public SIRequest retrieveComponents(SIRequestor requestor); /** * Returns a schedule of program events associated with this service. * * @return The program schedule for this service, or null * if no schedule is available. */ public ProgramSchedule getProgramSchedule(); /** * Called to obtain a full service name. For example, this * information may be delivered in the ATSC Extended Channel Name * Descriptor, the DVB Service Descriptor or the DVB Multilingual * Service Name Descriptor. * * @return A string representing the full service name, or an empty * string if the name is not available. */ public String getLongName(); /** * Returns the Service this ServiceDetails * object is associated with. * * @return The Service to which this * ServiceDetails belongs. */ public Service getService(); /** * Registers a ServiceComponentChangeListener to be * notified of changes to a ServiceComponent that is * part of this ServiceDetails. Subsequent notification * is made via ServiceComponentChangeEvent with this * ServiceDetails instance as the event source and an * SIChangeType of ADD, * REMOVE or MODIFY. Only changes to * ServiceComponent instances c for which * the caller has * javax.tv.service.ReadPermission(c.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.

* * If the specified ServiceComponentChangeListener is * already registered, no action is performed. * * @param listener A ServiceComponentChangeListener to be * notified about changes related to a ServiceComponent * in this ServiceDetails. * * @see ServiceComponentChangeEvent * @see javax.tv.service.ReadPermission **/ public abstract void addServiceComponentChangeListener(ServiceComponentChangeListener listener); /** * Called to unregister an * ServiceComponentChangeListener. If the specified * ServiceComponentChangeListener is not registered, no * action is performed. * * @param listener A previously registered listener. */ public abstract void removeServiceComponentChangeListener(ServiceComponentChangeListener listener); /** * Reports the type of mechanism by which this service was * delivered. * * @return The delivery system type of this service. */ public DeliverySystemType getDeliverySystemType(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy