Package jmri.jmrix.lenz
Class XNetSimulatorPortController
- java.lang.Object
-
- jmri.jmrix.AbstractPortController
-
- jmri.jmrix.AbstractSerialPortController
-
- jmri.jmrix.lenz.XNetSimulatorPortController
-
- All Implemented Interfaces:
XNetPortController
,PortAdapter
,SerialPortAdapter
- Direct Known Subclasses:
XNetSimulatorAdapter
public abstract class XNetSimulatorPortController extends AbstractSerialPortController implements XNetPortController
Abstract base for classes representing an XNet communications port
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractSerialPortController
AbstractSerialPortController.Blocking, AbstractSerialPortController.FlowControl
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractPortController
AbstractPortController.Option
-
-
Field Summary
-
Fields inherited from class jmri.jmrix.AbstractSerialPortController
currentSerialPort, mBaudRate, mPort
-
Fields inherited from class jmri.jmrix.AbstractPortController
allowConnectionRecovery, manufacturerName, opened, option1Name, option2Name, option3Name, option4Name, options, reconnectinterval, reconnectMaxAttempts, reconnectMaxInterval
-
-
Constructor Summary
Constructors Constructor Description XNetSimulatorPortController()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.io.DataInputStream
getInputStream()
Get the InputStream from the port.abstract java.io.DataOutputStream
getOutputStream()
Get the outputStream to the port.XNetSystemConnectionMemo
getSystemConnectionMemo()
Get theSystemConnectionMemo
associated with this object.boolean
hasTimeSlot()
Indicate whether the Command Station is currently providing a timeslot to this port controller.boolean
okToSend()
Can the port accept additional characters?abstract void
setOutputBufferEmpty(boolean s)
We need a way to say if the output buffer is empty or not.void
setTimeSlot(boolean timeslot)
Set a variable indicating whether or not the command station is providing a timeslot.abstract boolean
status()
Check that this object is ready to operate.int[]
validBaudNumbers()
Get an array of valid baud rate numbers; used to store/load adapter speed option.java.lang.String[]
validBaudRates()
Get an array of valid baud rate strings; used to display valid options in Connections Preferences.-
Methods inherited from class jmri.jmrix.AbstractSerialPortController
activatePort, activatePort, activatePort, closeConnection, closeSerialPort, configureBaudRate, configureBaudRateFromIndex, configureBaudRateFromNumber, configureLeads, configureLeadsAndFlowControl, configureLeadsAndFlowControl, connect, currentBaudNumber, defaultBaudIndex, getActualPortNames, getCurrentBaudIndex, getCurrentBaudNumber, getCurrentBaudRate, getCurrentPortName, getFlowControl, getPortSettingsString, handlePortBusy, handlePortNotFound, handlePortNotFound, isPortOpen, replacePortWithFakePort, reportPortStatus, resetupConnection, setBaudRate, setComPortTimeouts, setDataListener, setFlowControl, setPort
-
Methods inherited from class jmri.jmrix.AbstractPortController
configureOption1, configureOption2, configureOption3, configureOption4, dispose, getDisabled, getManufacturer, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getReconnectMaxAttempts, getReconnectMaxInterval, getSystemPrefix, getUserName, isDirty, isOptionAdvanced, isOptionTypePassword, isOptionTypeText, isRestartRequired, purgeStream, reconnect, reconnectFromLoop, recover, safeSleep, setClosed, setDisabled, setManufacturer, setOpened, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jmri.jmrix.PortAdapter
connect, dispose, getDisabled, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getReconnectMaxAttempts, getReconnectMaxInterval, getSystemPrefix, getUserName, isDirty, isOptionAdvanced, isOptionTypePassword, isOptionTypeText, isRestartRequired, recover, setDisabled, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
-
Methods inherited from interface jmri.jmrix.SerialPortAdapter
configure, configureOption1, configureOption2, configureOption3, configureOption4, getManufacturer, getPortNames, openPort, setManufacturer
-
-
-
-
Constructor Detail
-
XNetSimulatorPortController
public XNetSimulatorPortController()
-
-
Method Detail
-
getInputStream
public abstract java.io.DataInputStream getInputStream()
Description copied from class:AbstractPortController
Get the InputStream from the port.- Specified by:
getInputStream
in interfacePortAdapter
- Overrides:
getInputStream
in classAbstractSerialPortController
- Returns:
- the InputStream from the port
-
getOutputStream
public abstract java.io.DataOutputStream getOutputStream()
Description copied from class:AbstractPortController
Get the outputStream to the port.- Specified by:
getOutputStream
in interfacePortAdapter
- Overrides:
getOutputStream
in classAbstractSerialPortController
- Returns:
- the outputStream to the port
-
status
public abstract boolean status()
Check that this object is ready to operate. This is a question of configuration, not transient hardware status.- Specified by:
status
in interfacePortAdapter
- Specified by:
status
in interfaceSerialPortAdapter
- Specified by:
status
in interfaceXNetPortController
- Overrides:
status
in classAbstractPortController
- Returns:
- true if OK, at least as far as known
-
okToSend
@OverridingMethodsMustInvokeSuper public boolean okToSend()
Can the port accept additional characters? This might go false for short intervals, but it might also stick off if something goes wrong.- Specified by:
okToSend
in interfaceXNetPortController
- Returns:
- true if OK to send, else false.
-
hasTimeSlot
public boolean hasTimeSlot()
Indicate whether the Command Station is currently providing a timeslot to this port controller.- Specified by:
hasTimeSlot
in interfaceXNetPortController
- Returns:
- true if the Command Station is currently providing a timeslot.
-
setTimeSlot
public void setTimeSlot(boolean timeslot)
Set a variable indicating whether or not the command station is providing a timeslot.This method should be called with the paramter set to false if a "Command Station No Longer Providing a timeslot for communications" (01 05 04) is received.
This method should be called with the parameter set to true if a "Command Station is providing a timeslot for communications again." (01 07 06) is received.
- Specified by:
setTimeSlot
in interfaceXNetPortController
- Parameters:
timeslot
- true if a timeslot is being sent, false otherwise.
-
setOutputBufferEmpty
public abstract void setOutputBufferEmpty(boolean s)
We need a way to say if the output buffer is empty or not.- Specified by:
setOutputBufferEmpty
in interfaceXNetPortController
- Parameters:
s
- true to set buffer empty, else false.
-
getSystemConnectionMemo
public XNetSystemConnectionMemo getSystemConnectionMemo()
Description copied from class:AbstractPortController
Get theSystemConnectionMemo
associated with this object.This method should only be overridden to ensure that a specific subclass of SystemConnectionMemo is returned. The recommended pattern is:
public MySystemConnectionMemo getSystemConnectionMemo() { return (MySystemConnectionMemo) super.getSystemConnectionMemo(); }
- Specified by:
getSystemConnectionMemo
in interfacePortAdapter
- Overrides:
getSystemConnectionMemo
in classAbstractPortController
- Returns:
- the currently associated SystemConnectionMemo
-
validBaudRates
public java.lang.String[] validBaudRates()
Get an array of valid baud rate strings; used to display valid options in Connections Preferences.- Specified by:
validBaudRates
in interfaceSerialPortAdapter
- Overrides:
validBaudRates
in classAbstractSerialPortController
- Returns:
- array of I18N display strings of port speed settings valid for this serial adapter,
must match order and values from
SerialPortAdapter.validBaudNumbers()
-
validBaudNumbers
public int[] validBaudNumbers()
Get an array of valid baud rate numbers; used to store/load adapter speed option.- Specified by:
validBaudNumbers
in interfaceSerialPortAdapter
- Overrides:
validBaudNumbers
in classAbstractSerialPortController
- Returns:
- integer array of speeds, must match order and values from
SerialPortAdapter.validBaudRates()
-
-