Package jmri.jmrit.withrottle
Class DeviceServer
- java.lang.Object
-
- jmri.jmrit.withrottle.DeviceServer
-
- All Implemented Interfaces:
java.lang.Runnable,java.util.EventListener,ControllerInterface,ThrottleControllerListener
public class DeviceServer extends java.lang.Object implements java.lang.Runnable, ThrottleControllerListener, ControllerInterface
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.StringdeviceName(package private) java.lang.StringdeviceUDID(package private) java.io.BufferedReaderin(package private) booleanisClockDisplayed(package private) booleanisRouteAllowed(package private) booleanisTrackPowerAllowed(package private) booleanisTurnoutAllowed(package private) java.util.HashMap<java.lang.Character,MultiThrottle>multiThrottles(package private) java.lang.StringnewLine(package private) java.io.PrintStreamout(package private) java.lang.StringrailroadName(package private) ThrottleControllersecondThrottleController(package private) ThrottleControllerthrottleController
-
Constructor Summary
Constructors Constructor Description DeviceServer(java.net.Socket socket, DeviceManager manager)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDeviceListener(DeviceListener l)Add a DeviceListenervoidcloseSocket()voidcloseThrottles()java.lang.StringgetCurrentAddressString()java.lang.StringgetCurrentRosterIdString()Get the Roster ID String.java.lang.StringgetName()java.lang.StringgetUDID()static java.lang.StringgetWebServerPort()static java.lang.StringgetWiTVersion()voidnotifyControllerAddressDeclined(ThrottleController tc, DccLocoAddress address, java.lang.String reason)System has declined the address request, may be an in-use address.voidnotifyControllerAddressFound(ThrottleController TC)voidnotifyControllerAddressReleased(ThrottleController TC)voidremoveDeviceListener(DeviceListener l)Remove a DeviceListenervoidrun()voidsendAlertMessage(java.lang.String message)Send an Alert message (simple text string) to this clientvoidsendInfoMessage(java.lang.String message)Send an Info message (simple text string) to this clientvoidsendPacketToDevice(java.lang.String message)Called by various Controllers to send a string message to a connected device.java.lang.StringsendRoster()Format a package to be sent to the device for roster list selections.voidstartEKG()voidstopEKG()
-
-
-
Field Detail
-
newLine
java.lang.String newLine
-
in
java.io.BufferedReader in
-
out
java.io.PrintStream out
-
deviceName
java.lang.String deviceName
-
deviceUDID
java.lang.String deviceUDID
-
throttleController
ThrottleController throttleController
-
secondThrottleController
ThrottleController secondThrottleController
-
multiThrottles
java.util.HashMap<java.lang.Character,MultiThrottle> multiThrottles
-
isTrackPowerAllowed
final boolean isTrackPowerAllowed
-
isTurnoutAllowed
final boolean isTurnoutAllowed
-
isRouteAllowed
final boolean isRouteAllowed
-
isClockDisplayed
final boolean isClockDisplayed
-
railroadName
final java.lang.String railroadName
-
-
Constructor Detail
-
DeviceServer
DeviceServer(java.net.Socket socket, DeviceManager manager)
-
-
Method Detail
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
closeThrottles
public void closeThrottles()
-
closeSocket
public void closeSocket()
-
startEKG
public void startEKG()
-
stopEKG
public void stopEKG()
-
getUDID
public java.lang.String getUDID()
-
getName
public java.lang.String getName()
-
getCurrentAddressString
public java.lang.String getCurrentAddressString()
-
getCurrentRosterIdString
public java.lang.String getCurrentRosterIdString()
Get the Roster ID String.- Returns:
- roster ID string.
- Since:
- 4.15.4
-
getWiTVersion
public static java.lang.String getWiTVersion()
-
getWebServerPort
public static java.lang.String getWebServerPort()
-
sendPacketToDevice
public void sendPacketToDevice(java.lang.String message)
Called by various Controllers to send a string message to a connected device. Appends a newline to the end.- Specified by:
sendPacketToDevicein interfaceControllerInterface- Parameters:
message- The string to send.
-
sendAlertMessage
public void sendAlertMessage(java.lang.String message)
Send an Alert message (simple text string) to this client- Specified by:
sendAlertMessagein interfaceControllerInterface- Parameters:
message- Format: HMmessage
-
sendInfoMessage
public void sendInfoMessage(java.lang.String message)
Send an Info message (simple text string) to this client- Specified by:
sendInfoMessagein interfaceControllerInterface- Parameters:
message- Format: Hmmessage
-
addDeviceListener
public void addDeviceListener(DeviceListener l)
Add a DeviceListener- Parameters:
l- handle for listener to add
-
removeDeviceListener
public void removeDeviceListener(DeviceListener l)
Remove a DeviceListener- Parameters:
l- listener to remove
-
notifyControllerAddressFound
public void notifyControllerAddressFound(ThrottleController TC)
- Specified by:
notifyControllerAddressFoundin interfaceThrottleControllerListener
-
notifyControllerAddressReleased
public void notifyControllerAddressReleased(ThrottleController TC)
- Specified by:
notifyControllerAddressReleasedin interfaceThrottleControllerListener
-
notifyControllerAddressDeclined
public void notifyControllerAddressDeclined(ThrottleController tc, DccLocoAddress address, java.lang.String reason)
System has declined the address request, may be an in-use address. Need to clear the address from the proper multiThrottle.- Specified by:
notifyControllerAddressDeclinedin interfaceThrottleControllerListener- Parameters:
tc- The throttle controller that was listening for a response to an address requestaddress- The address to send a cancel toreason- The reason the request was declined, to be sent back to client
-
sendRoster
public java.lang.String sendRoster()
Format a package to be sent to the device for roster list selections.- Returns:
- String containing a formatted list of some of each RosterEntry's info. Include a header with the length of the string to be received.
-
-