jmri.jmrix.rfid
Class RfidTrafficController

java.lang.Object
  extended by jmri.jmrix.AbstractMRTrafficController
      extended by jmri.jmrix.rfid.RfidTrafficController
All Implemented Interfaces:
RfidInterface
Direct Known Subclasses:
SpecificTrafficController, SpecificTrafficController

public class RfidTrafficController
extends AbstractMRTrafficController
implements RfidInterface

Converts Stream-based I/O to/from messages. The "RfidInterface" side sends/receives message objects.

The connection to a SerialPortController is via a pair of *Streams, which then carry sequences of characters for transmission. Note that this processing is handled in an independent thread.

This maintains a list of nodes, but doesn't currently do anything with it.

This implementation is complete and can be instantiated, but is not functional. It will be created e.g. when a default object is needed for configuring nodes, etc, during the initial configuration. A subclass must be instantiated to actually communicate with an adapter.

Since:
2.11.4
Author:
Bob Jacobsen Copyright (C) 2001, 2003, 2005, 2006, 2008, Matthew Harris Copyright (C) 2011

Nested Class Summary
 
Nested classes/interfaces inherited from class jmri.jmrix.AbstractMRTrafficController
AbstractMRTrafficController.RcvNotifier, AbstractMRTrafficController.XmtNotifier
 
Field Summary
protected  boolean logDebug
           
 
Fields inherited from class jmri.jmrix.AbstractMRTrafficController
allowUnexpectedReply, AUTORETRYSTATE, cmdListeners, controller, flushReceiveChars, IDLESTATE, istream, mCurrentMode, mCurrentState, mLastSender, mWaitBeforePoll, NORMALMODE, NOTIFIEDSTATE, OKSENDMSGSTATE, ostream, POLLSTATE, PROGRAMINGMODE, rcvException, replyInDispatch, WAITMSGREPLYSTATE, WAITREPLYINNORMMODESTATE, WAITREPLYINPROGMODESTATE, waitTimePoll, xmtException, xmtRunnable
 
Constructor Summary
RfidTrafficController()
           
 
Method Summary
 void addRfidListener(RfidListener l)
           
protected  boolean endOfMessage(AbstractMRReply msg)
           This is a default, null implementation, which must be overridden in an adapter-specific subclass.
protected  AbstractMRMessage enterNormalMode()
           
protected  AbstractMRMessage enterProgMode()
           
protected  void forwardMessage(AbstractMRListener client, AbstractMRMessage m)
          Forward a RfidMessage to all registered RfidInterface listeners.
protected  void forwardReply(AbstractMRListener client, AbstractMRReply r)
          Forward a reply to all registered RfidInterface listeners.
protected  void forwardToPort(AbstractMRMessage m, AbstractMRListener reply)
          Actually transmits the next message to the port
 String getRange()
           
 RfidReporterManager getReporterManager()
           
 RfidMessage getRfidMessage(int length)
          Get a message of a specific length for filling in.
 RfidSensorManager getSensorManager()
           
protected  AbstractMRReply newReply()
           This is a default, null implementation, which must be overridden in an adapter-specific subclass.
protected  AbstractMRMessage pollMessage()
          Eventually, do initialization if needed
protected  AbstractMRListener pollReplyHandler()
           
 void removeRfidListener(RfidListener l)
           
 void sendRfidMessage(RfidMessage m, RfidListener reply)
          Forward a preformatted message to the actual interface.
 void setAdapterMemo(RfidSystemConnectionMemo memo)
           
protected  void setInstance()
          Deprecated. 
 void setReporterManager(RfidReporterManager m)
           
 void setSensorManager(RfidSensorManager m)
           
 
Methods inherited from class jmri.jmrix.AbstractMRTrafficController
addHeaderToOutput, addListener, addTrailerToOutput, canReceive, connectionWarn, connectPort, disconnectPort, enterProgModeDelayTime, finalize, getLastSender, getPortName, getSelfLock, handleOneIncomingReply, handleTimeout, hasTimeouts, lengthOfByteStream, loadChars, newRcvNotifier, notifyMessage, notifyReply, portReadyToSend, portWarn, portWarnTCP, programmerIdle, readByteProtected, receiveLoop, removeListener, reportReceiveLoopException, resetTimeout, sendMessage, setAllowUnexpectedReply, status, terminate, transmitWait, waitForStartOfReply
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jmri.jmrix.rfid.RfidInterface
status
 

Field Detail

logDebug

protected boolean logDebug
Constructor Detail

RfidTrafficController

public RfidTrafficController()
Method Detail

setAdapterMemo

public void setAdapterMemo(RfidSystemConnectionMemo memo)

getRfidMessage

public RfidMessage getRfidMessage(int length)
Get a message of a specific length for filling in.

This is a default, null implementation, which must be overridden in an adapter-specific subclass.


addRfidListener

public void addRfidListener(RfidListener l)
Specified by:
addRfidListener in interface RfidInterface

removeRfidListener

public void removeRfidListener(RfidListener l)
Specified by:
removeRfidListener in interface RfidInterface

forwardMessage

protected void forwardMessage(AbstractMRListener client,
                              AbstractMRMessage m)
Forward a RfidMessage to all registered RfidInterface listeners.

Specified by:
forwardMessage in class AbstractMRTrafficController

forwardReply

protected void forwardReply(AbstractMRListener client,
                            AbstractMRReply r)
Forward a reply to all registered RfidInterface listeners.

Specified by:
forwardReply in class AbstractMRTrafficController

setSensorManager

public void setSensorManager(RfidSensorManager m)

getSensorManager

public RfidSensorManager getSensorManager()

setReporterManager

public void setReporterManager(RfidReporterManager m)

getReporterManager

public RfidReporterManager getReporterManager()

pollMessage

protected AbstractMRMessage pollMessage()
Eventually, do initialization if needed

Specified by:
pollMessage in class AbstractMRTrafficController

pollReplyHandler

protected AbstractMRListener pollReplyHandler()
Specified by:
pollReplyHandler in class AbstractMRTrafficController

sendRfidMessage

public void sendRfidMessage(RfidMessage m,
                            RfidListener reply)
Forward a preformatted message to the actual interface.

Specified by:
sendRfidMessage in interface RfidInterface

forwardToPort

protected void forwardToPort(AbstractMRMessage m,
                             AbstractMRListener reply)
Description copied from class: AbstractMRTrafficController
Actually transmits the next message to the port

Overrides:
forwardToPort in class AbstractMRTrafficController

enterProgMode

protected AbstractMRMessage enterProgMode()
Specified by:
enterProgMode in class AbstractMRTrafficController

enterNormalMode

protected AbstractMRMessage enterNormalMode()
Specified by:
enterNormalMode in class AbstractMRTrafficController

setInstance

@Deprecated
protected void setInstance()
Deprecated. 

Specified by:
setInstance in class AbstractMRTrafficController

endOfMessage

protected boolean endOfMessage(AbstractMRReply msg)

This is a default, null implementation, which must be overridden in an adapter-specific subclass.

Specified by:
endOfMessage in class AbstractMRTrafficController

newReply

protected AbstractMRReply newReply()

This is a default, null implementation, which must be overridden in an adapter-specific subclass.

Specified by:
newReply in class AbstractMRTrafficController

getRange

public String getRange()


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