ist.palcom.mal
Interface MediaManager

All Known Implementing Classes:
AbstractMediaManager, BluetoothMediaManager, CompoundMediaManager, IRMediaManager, IRMediaManager, MediaManagerSkeleton, RascalMediaManager, UDPMediaManager

public interface MediaManager

Interface for implementing a media manager.


Method Summary
 void addErrorHandler(PalcomThread handler)
          Subscribe to error events from this media manager.
 PalcomPriorityThread getDistributorThread()
           
 java.lang.String getLocalDeviceCache()
           
 java.lang.String getLocalDeviceID()
           
 java.util.ArrayList getRegisteredDevices()
          Get all devices registered at this media manager except itself.
 int getSendBufferSize()
           
 boolean isDeviceRegistered(java.lang.String deviceID)
          Checks if the device with ID deviceID is known to the media manager.
 void registerAsListener(PalcomThread listener)
          Registers as a listener to messages received by this manager from the network.
 void registerDevice(java.lang.String deviceID, DeviceCacheObject device)
          This method is public so it can be used by test programs, but it is usually not called from other classes.
 void registerForHeartBeats(PalcomThread listener)
          Register as a listener for heartbeats and heartattacks.
 boolean send(Message message, java.lang.String receiverDeviceID)
          Send a message to a receiver at a given deviceID.
 void sendBroadcast(Message message)
          Send out a broadcast message, with required message header nodes inserted before.
 void sendHeartAttack()
          Send out a broadcast HeartAttack message.
 void sendHeartBeat(boolean isHeartBeatAck, LinkedList messageHeaderNodes)
          Send out a broadcast HeartBeat message.
 void setDiscoverySelector(Selector selector)
           
 void setLocalDeviceCache(java.lang.String deviceCache)
           
 void setLocalDeviceID(java.lang.String deviceID)
           
 void setLocalDiscoveryVersion(java.lang.String discoveryVersion)
           
 void setLocalStatusFlag(byte statusFlag)
           
 void setPeriod(long period)
          Set the time interval between heartbeats.
 void stop()
          Stop the manager.
 void suggestSendBufferSize(int size)
          Used in the same manner as setSendBufferSize.
 boolean unRegisterDevice(java.lang.String deviceID)
          This method removes a device and its information from the list with registered devices.
 

Method Detail

registerAsListener

void registerAsListener(PalcomThread listener)
Registers as a listener to messages received by this manager from the network. Currently only one listener at a time is supported.

Parameters:
listener - The PalcomThread that are interested in messages from the media manager.

registerForHeartBeats

void registerForHeartBeats(PalcomThread listener)
Register as a listener for heartbeats and heartattacks.


getDistributorThread

PalcomPriorityThread getDistributorThread()

suggestSendBufferSize

void suggestSendBufferSize(int size)
Used in the same manner as setSendBufferSize.


getSendBufferSize

int getSendBufferSize()

setLocalDeviceCache

void setLocalDeviceCache(java.lang.String deviceCache)

getLocalDeviceCache

java.lang.String getLocalDeviceCache()

getLocalDeviceID

java.lang.String getLocalDeviceID()

setLocalDeviceID

void setLocalDeviceID(java.lang.String deviceID)

setLocalStatusFlag

void setLocalStatusFlag(byte statusFlag)

setLocalDiscoveryVersion

void setLocalDiscoveryVersion(java.lang.String discoveryVersion)

setDiscoverySelector

void setDiscoverySelector(Selector selector)

sendHeartBeat

void sendHeartBeat(boolean isHeartBeatAck,
                   LinkedList messageHeaderNodes)
Send out a broadcast HeartBeat message. This method is used by the ResourceManager. Sending HeartBeatAck messages are handled automatically by the AbstractMediaManager.

Parameters:
isHeartBeatAck - is the heartBeat an ack or a request for others to answer with heartbeatAcks.
messageHeaderNodes - used when for instance a mark node should be sent with the heartBeat.

sendHeartAttack

void sendHeartAttack()
Send out a broadcast HeartAttack message. This method is used by the DiscoveryManager and tells the receiving devices that this devices is about to close down.


stop

void stop()
Stop the manager. This will stop all listening for messages.


addErrorHandler

void addErrorHandler(PalcomThread handler)
Subscribe to error events from this media manager. Unhandled errors within the MediaManager will be send to the handler in the form of MALErrorEvent events. Notice: Currently, only one error handler at a time is supported


send

boolean send(Message message,
             java.lang.String receiverDeviceID)
Send a message to a receiver at a given deviceID.

Parameters:
message - The message to send.
receiverDeviceID - The deviceID of the receiver.
Returns:
True if the AbstractMediaManager knows about the device, and has sent the message.

sendBroadcast

void sendBroadcast(Message message)
Send out a broadcast message, with required message header nodes inserted before.


registerDevice

void registerDevice(java.lang.String deviceID,
                    DeviceCacheObject device)
This method is public so it can be used by test programs, but it is usually not called from other classes.


unRegisterDevice

boolean unRegisterDevice(java.lang.String deviceID)
This method removes a device and its information from the list with registered devices.

Parameters:
deviceID - The ID of the device to be removed.
Returns:
True if the device was removed from the list.

isDeviceRegistered

boolean isDeviceRegistered(java.lang.String deviceID)
Checks if the device with ID deviceID is known to the media manager.

Parameters:
deviceID - must contain deviceID but nothing more.
Returns:
true if device is registered

getRegisteredDevices

java.util.ArrayList getRegisteredDevices()
Get all devices registered at this media manager except itself.

Returns:
ArrayList with DeviceCacheObjects

setPeriod

void setPeriod(long period)
Set the time interval between heartbeats.