jmri.jmrix.sprog
Class SprogTrafficController

java.lang.Object
  extended by jmri.jmrix.sprog.SprogTrafficController
All Implemented Interfaces:
SerialPortEventListener, EventListener, SprogInterface

public class SprogTrafficController
extends Object
implements SprogInterface, SerialPortEventListener

Converts Stream-based I/O to/from Sprog messages. The "SprogInterface" side sends/receives message objects. The connection to a SprogPortController is via a pair of *Streams, which then carry sequences of characters for transmission. Note that this processing is handled in an independent thread. Updated January 2010 for gnu io (RXTX) - Andrew Berridge. Comments tagged with "AJB" indicate changes or observations by me Removed Runnable implementation and methods for it

Author:
Bob Jacobsen Copyright (C) 2001

Field Summary
protected  Vector<SprogListener> cmdListeners
           
protected static SprogTrafficController self
           
 
Constructor Summary
SprogTrafficController()
           
 
Method Summary
 void addSprogListener(SprogListener l)
           
 void connectPort(AbstractSerialPortController p)
          Make connection to existing PortController object.
 void disconnectPort(AbstractSerialPortController p)
          Break connection to existing SprogPortController object.
 SprogSystemConnectionMemo getAdapterMemo()
           
 SprogConstants.SprogState getSprogState()
           
static SprogTrafficController instance()
          static function returning the SprogTrafficController instance to use.
 boolean isNormalMode()
           
 boolean isSIIBootMode()
           
 boolean isV4BootMode()
           
protected  void notifyMessage(SprogMessage m, SprogListener originator)
           
protected  void notifyReply(SprogReply r)
           
 void removeSprogListener(SprogListener l)
           
 void sendSprogMessage(SprogMessage m)
          Forward a preformatted message to the interface
 void sendSprogMessage(SprogMessage m, SprogListener replyTo)
          Forward a preformatted message to the actual interface (by calling SendSprogMessage(SprogMessage) after notifying any listeners Notifies listeners
 void serialEvent(SerialPortEvent event)
          serialEvent - respond to an event triggered by RXTX.
 void setAdapterMemo(SprogSystemConnectionMemo adaptermemo)
           
 void setSprogState(SprogConstants.SprogState s)
           
 boolean status()
          Test operational status of interface.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cmdListeners

protected Vector<SprogListener> cmdListeners

self

protected static volatile SprogTrafficController self
Constructor Detail

SprogTrafficController

public SprogTrafficController()
Method Detail

status

public boolean status()
Description copied from interface: SprogInterface
Test operational status of interface.

Specified by:
status in interface SprogInterface
Returns:
true if interface implementation is operational.

addSprogListener

public void addSprogListener(SprogListener l)
Specified by:
addSprogListener in interface SprogInterface

removeSprogListener

public void removeSprogListener(SprogListener l)
Specified by:
removeSprogListener in interface SprogInterface

getSprogState

public SprogConstants.SprogState getSprogState()

setSprogState

public void setSprogState(SprogConstants.SprogState s)

isNormalMode

public boolean isNormalMode()

isSIIBootMode

public boolean isSIIBootMode()

isV4BootMode

public boolean isV4BootMode()

notifyMessage

protected void notifyMessage(SprogMessage m,
                             SprogListener originator)

notifyReply

protected void notifyReply(SprogReply r)

sendSprogMessage

public void sendSprogMessage(SprogMessage m)
Forward a preformatted message to the interface

Parameters:
m -

sendSprogMessage

public void sendSprogMessage(SprogMessage m,
                             SprogListener replyTo)
Forward a preformatted message to the actual interface (by calling SendSprogMessage(SprogMessage) after notifying any listeners Notifies listeners

Specified by:
sendSprogMessage in interface SprogInterface
Parameters:
m - Message to be sent.
replyTo - Listener to be notified of reply.

connectPort

public void connectPort(AbstractSerialPortController p)
Make connection to existing PortController object.


disconnectPort

public void disconnectPort(AbstractSerialPortController p)
Break connection to existing SprogPortController object. Once broken, attempts to send via "message" member will fail.


instance

public static SprogTrafficController instance()
static function returning the SprogTrafficController instance to use.

Returns:
The registered SprogTrafficController instance for general use, if need be creating one.

setAdapterMemo

public void setAdapterMemo(SprogSystemConnectionMemo adaptermemo)

getAdapterMemo

public SprogSystemConnectionMemo getAdapterMemo()

serialEvent

public void serialEvent(SerialPortEvent event)
serialEvent - respond to an event triggered by RXTX. In this case we are only dealing with DATA_AVAILABLE but the other events are left here for reference. AJB Jan 2010

Specified by:
serialEvent in interface SerialPortEventListener


Copyright © 1997 - 2011 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads