ist.palcom.mal.bt
Class BluetoothMediaManager

java.lang.Object
  extended by ist.palcom.mal.AbstractMediaManager
      extended by ist.palcom.mal.bt.BluetoothMediaManager
All Implemented Interfaces:
MediaManager

public class BluetoothMediaManager
extends AbstractMediaManager

This class implements ist.palcom.mal.BluetoothMediaManager

See Also:
MediaManager

Nested Class Summary
 
Nested classes/interfaces inherited from class ist.palcom.mal.AbstractMediaManager
AbstractMediaManager.DistributorThread
 
Field Summary
 
Fields inherited from class ist.palcom.mal.AbstractMediaManager
distributorThread, PALCOM_URL_PREFIX, scheduler, TIMEOUTS_BEFORE_REMOVAL, WIRE_PROTOCOL_VERSION
 
Constructor Summary
BluetoothMediaManager(PalcomScheduler scheduler)
          Deprecated. See superclass
BluetoothMediaManager(PalcomScheduler scheduler, PalcomThread errorHandler)
           
 
Method Summary
 URL[] getDefaultGroupAddresses()
          We use the address 00:00:00:00:00:00 as the default group address, as no such thing exists in Bluetooth.
 URL getDefaultUnicastURL()
          Returns the URL that the manager listens for messages at by default.
protected  CommunicationThread getReceivingThread(URL url)
           
 int getSendBufferSize()
           
protected  CommunicationThread getSendingThread(URL url)
           
protected  boolean isBroadcast(URL url)
          This does not make sense in a bluetooth world, as there is only point to point connections.
protected  void removeReceivingThread(URL url)
          Stop receiving at url, and remove the receiving thread.
 void stop()
          Stop the manager.
 void suggestSendBufferSize(int size)
          If the exists a connection to a device with this url, then subscribe to these messages.
 
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
 

Constructor Detail

BluetoothMediaManager

public BluetoothMediaManager(PalcomScheduler scheduler)
Deprecated. See superclass


BluetoothMediaManager

public BluetoothMediaManager(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)
If the exists a connection to a device with this url, then subscribe to these messages. If no connection exists open a new one and start receiving chunks of data from the new connection. The later will offend be used in connections to 3th party devices eg. gps. public String startReceiving(String url, PalcomThread receiver) { // getReceivingThread(url). return ""; }

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).

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)
This does not make sense in a bluetooth world, as there is only point to point connections. We have to create routing on top of that and this is not in this layer

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()
We use the address 00:00:00:00:00:00 as the default group address, as no such thing exists in Bluetooth. A call to receive(00:00:00:00:00:00,palcomThread) will result in the thread receiving all bluetooth messages send to this node

Specified by:
getDefaultGroupAddresses in class AbstractMediaManager
Returns:
The default broadcast addresses for group communication.

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.

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