ist.palcom.mal.ir
Class IRMediaManager

java.lang.Object
  extended by ist.palcom.mal.AbstractMediaManager
      extended by ist.palcom.mal.ir.IRMediaManager
All Implemented Interfaces:
MediaManager

public class IRMediaManager
extends AbstractMediaManager

Media manager, capable of exchanging PalCom messages through InfraRed (IR) communication.

URL format (Tentative): palcom:ir://$device$:$ir-port$/$selector$, where $ir-port$ is one of 1 through 4, or 0 for broadcast to all 4 ports.

See Also:
MediaManager

Nested Class Summary
 
Nested classes/interfaces inherited from class ist.palcom.mal.AbstractMediaManager
AbstractMediaManager.DistributorThread
 
Field Summary
static int BROADCAST_HOST
           
static java.lang.String SERIAL_DEVICE
           
 
Fields inherited from class ist.palcom.mal.AbstractMediaManager
distributorThread, PALCOM_URL_PREFIX, scheduler, TIMEOUTS_BEFORE_REMOVAL, WIRE_PROTOCOL_VERSION
 
Constructor Summary
IRMediaManager(PalcomScheduler scheduler)
          Deprecated. See superclass
IRMediaManager(PalcomScheduler scheduler, PalcomThread errorHandler)
           
 
Method Summary
 URL[] getDefaultGroupAddresses()
           
 URL getDefaultUnicastURL()
          Returns the URL that the manager listens for messages at by default.
 IRManager getIRManager()
           
protected  CommunicationThread getReceivingThread(URL url)
           
 int getSendBufferSize()
           
protected  CommunicationThread getSendingThread(URL url)
           
protected  boolean isBroadcast(URL url)
           
protected  void removeReceivingThread(URL url)
          Stop receiving at url, and remove the receiving thread.
 void stop()
          Stop the manager.
 void suggestSendBufferSize(int size)
          Used in the same manner as setSendBufferSize.
 
Methods inherited from class ist.palcom.mal.AbstractMediaManager
addErrorHandler, getDistributorThread, getHost, getLocalDeviceCache, getLocalDeviceID, getPort, getProtocol, getProtocolSpecificUrl, getRegisteredDevices, getSelector, isDeviceRegistered, messageReceived, raiseErrorEvent, registerAsListener, registerDevice, registerForHeartBeats, send, sendBroadcast, sendHeartAttack, sendHeartBeat, setDiscoverySelector, setLocalDeviceCache, setLocalDeviceID, setLocalDiscoveryVersion, setLocalStatusFlag, setPeriod, unRegisterDevice
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BROADCAST_HOST

public static final int BROADCAST_HOST
See Also:
Constant Field Values

SERIAL_DEVICE

public static final java.lang.String SERIAL_DEVICE
See Also:
Constant Field Values
Constructor Detail

IRMediaManager

public IRMediaManager(PalcomScheduler scheduler)
Deprecated. See superclass


IRMediaManager

public IRMediaManager(PalcomScheduler scheduler,
                      PalcomThread errorHandler)
Method Detail

stop

public void stop()
Description copied from class: AbstractMediaManager
Stop the manager. This will stop all listening for messages.

Specified by:
stop in interface MediaManager
Overrides:
stop in class AbstractMediaManager

suggestSendBufferSize

public void suggestSendBufferSize(int size)
Description copied from class: AbstractMediaManager
Used in the same manner as setSendBufferSize.

Specified by:
suggestSendBufferSize in interface MediaManager
Specified by:
suggestSendBufferSize in class AbstractMediaManager

getSendBufferSize

public int getSendBufferSize()
Specified by:
getSendBufferSize in interface MediaManager
Specified by:
getSendBufferSize in class AbstractMediaManager

getDefaultUnicastURL

public URL getDefaultUnicastURL()
Description copied from class: AbstractMediaManager
Returns the URL that the manager listens for messages at by default. This method has been made public so it can be used from test programs, but it is not otherwise used by classes other than AbstractMediaManager and its subclasses.

Specified by:
getDefaultUnicastURL in class AbstractMediaManager
Returns:
The default URL. This URL is listened on unless another URL is specified in a call to startReceiving(String, PalcomThread).

getReceivingThread

protected CommunicationThread getReceivingThread(URL url)
Specified by:
getReceivingThread in class AbstractMediaManager
Returns:
CommunicationThread for receiving at url. If it does not exist, a new one is created and returned.

getIRManager

public IRManager getIRManager()

removeReceivingThread

protected void removeReceivingThread(URL url)
Description copied from class: AbstractMediaManager
Stop receiving at url, and remove the receiving thread.

Specified by:
removeReceivingThread in class AbstractMediaManager

getSendingThread

protected CommunicationThread getSendingThread(URL url)
Specified by:
getSendingThread in class AbstractMediaManager
Returns:
A CommunicationThread that can be used for sending a message to the given URL.

isBroadcast

protected boolean isBroadcast(URL url)
Specified by:
isBroadcast in class AbstractMediaManager
Returns:
true if the URL is a broadcast address (or multicast, depending on the protocol), false if not.

getDefaultGroupAddresses

public URL[] getDefaultGroupAddresses()
Specified by:
getDefaultGroupAddresses in class AbstractMediaManager
Returns:
The default broadcast addresses for group communication.