org.ocap.dvr.event
Class LightweightTriggerManager

java.lang.Object
  extended by org.ocap.dvr.event.LightweightTriggerManager

public abstract class LightweightTriggerManager
extends java.lang.Object

This class represents a manager that can be used by a privileged application to create an artificial object carousel containing a DSMCCStreamEvent in the top level. The DSMCCStreamEvent can be populated by a privileged application. NOTE this is an expanded version of the GEM lightweight binding of the trigger API (GEM clause P.2.3.1 Lightweight binding of trigger API).


Constructor Summary
protected LightweightTriggerManager()
          Protected constructor not callable by applications.
 
Method Summary
static LightweightTriggerManager getInstance()
          Gets an instance of the manager.
abstract  void registerHandler(LightweightTriggerHandler handler, short streamType)
          Registers a handler interested in services with streams listed in the PMT with this stream type.
abstract  void unregisterHandler(LightweightTriggerHandler handler)
          Unregisters a handler that was previously registered by the registerHandler method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LightweightTriggerManager

protected LightweightTriggerManager()
Protected constructor not callable by applications.

Method Detail

getInstance

public static LightweightTriggerManager getInstance()
Gets an instance of the manager.

Returns:
An instance of the light-weight trigger manager.

registerHandler

public abstract void registerHandler(LightweightTriggerHandler handler,
                                     short streamType)
Registers a handler interested in services with streams listed in the PMT with this stream type.

A separate notification of the handler SHALL be made for each service selection (with or without timeshift enabled), recording, buffering request, or tune that references a service containing streams of the given stream type. The provided LightweightTriggerSession SHALL reflect the relevant ServiceContext, RecordingRequest, BufferingRequest, or NetworkInterface.

Parameters:
handler - Handler to register.
streamType - a stream type as signaled in the PMT.
Throws:
java.lang.IllegalArgumentException - if streamType is not in the range 0x0 to 0xFF.
java.lang.NullPointerException - if handler is null.
java.lang.SecurityException - if the calling application is not signed.

unregisterHandler

public abstract void unregisterHandler(LightweightTriggerHandler handler)
Unregisters a handler that was previously registered by the registerHandler method.

Parameters:
handler - The handle to unregister.
Throws:
java.lang.IllegalArgumentException - if the handler was not previously registered.