Package jmri.jmrix.tams
Class TamsThrottleManager
java.lang.Object
jmri.jmrix.AbstractThrottleManager
jmri.jmrix.tams.TamsThrottleManager
- All Implemented Interfaces:
EventListener,AbstractMRListener,TamsListener,ThrottleManager
TamsDCC implementation of a ThrottleManager.
Based on early NCE code. Based on work by Bob Jacobsen
-
Nested Class Summary
Nested classes/interfaces inherited from class jmri.jmrix.AbstractThrottleManager
AbstractThrottleManager.Addresses -
Field Summary
Fields inherited from class jmri.jmrix.AbstractThrottleManager
adapterMemo, userName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanAre there any ambiguous addresses (short vs long) on this system?booleancanBeLongAddress(int address) Address 100 and above is a long addressbooleancanBeShortAddress(int address) Address 99 and below is a short addressbooleanNot for general use, seereleaseThrottleanddispatchThrottle.booleanCheck to see if the Dispatch Button should be enabled or not Default to true, override if necessarystatic TamsThrottleManagerinstance()(package private) static booleanisLongAddress(int num) voidvoidvoidrequestThrottleSetup(LocoAddress address, boolean control) Abstract member to actually do the work of configuring a new throttle, usually via interaction with the DCC system.protected booleanReturns falseWhat speed modes are supported by this system?Methods inherited from class jmri.jmrix.AbstractThrottleManager
addressReleased, addressStillRequired, addressStillRequired, addressStillRequired, addressStillRequired, attachListener, cancelThrottleRequest, cancelThrottleRequest, cancelThrottleRequest, cancelThrottleRequest, dispatchThrottle, dispose, enablePrefSilentShareOption, enablePrefSilentStealOption, failedThrottleRequest, forceDisposeThrottle, getAddress, getAddress, getAddressProtocolTypes, getAddressTypes, getAddressTypeString, getProtocolFromString, getThrottleInfo, getThrottleUsageCount, getThrottleUsageCount, getThrottleUsageCount, getThrottleUsageCount, getUserName, hideStealNotifications, makeHardwareDecision, notifyDecisionRequest, notifyThrottleKnown, releaseThrottle, removeListener, requestThrottle, requestThrottle, requestThrottle, requestThrottle, requestThrottle, requestThrottle, requestThrottleSetup, responseThrottleDecision, responseThrottleDecision, responseThrottleDecision, showSessionCancelDialogue, updateNumUsers
-
Constructor Details
-
TamsThrottleManager
Constructor.- Parameters:
memo- system connection.
-
-
Method Details
-
instance
-
reply
- Specified by:
replyin interfaceTamsListener
-
message
- Specified by:
messagein interfaceTamsListener
-
requestThrottleSetup
Description copied from class:AbstractThrottleManagerAbstract member to actually do the work of configuring a new throttle, usually via interaction with the DCC system.- Specified by:
requestThrottleSetupin classAbstractThrottleManager- Parameters:
address- addresscontrol- false - read only.
-
hasDispatchFunction
Description copied from class:AbstractThrottleManagerCheck to see if the Dispatch Button should be enabled or not Default to true, override if necessary- Specified by:
hasDispatchFunctionin interfaceThrottleManager- Overrides:
hasDispatchFunctionin classAbstractThrottleManager- Returns:
- true if dispatch is possible; false otherwise
-
canBeLongAddress
Address 100 and above is a long address- Specified by:
canBeLongAddressin interfaceThrottleManager- Parameters:
address- address number to test- Returns:
- true if address can be long; false otherwise
-
canBeShortAddress
Address 99 and below is a short address- Specified by:
canBeShortAddressin interfaceThrottleManager- Parameters:
address- address number to test- Returns:
- true if address can be short; false otherwise
-
addressTypeUnique
Are there any ambiguous addresses (short vs long) on this system?- Specified by:
addressTypeUniquein interfaceThrottleManager- Returns:
- true if ambiguous addresses are not allowed; false otherwise
-
singleUse
Returns falseDoes this DCC system allow a Throttle (e.g. an address) to be used by only one user at a time?
- Overrides:
singleUsein classAbstractThrottleManager- Returns:
- true or false
-
isLongAddress
-
supportedSpeedModes
Description copied from class:AbstractThrottleManagerWhat speed modes are supported by this system? value should be xor of possible modes specifed by the DccThrottle interface- Specified by:
supportedSpeedModesin interfaceThrottleManager- Overrides:
supportedSpeedModesin classAbstractThrottleManager- Returns:
- an XOR of the possible modes specified in the throttle interface
-
disposeThrottle
Description copied from class:AbstractThrottleManagerNot for general use, seereleaseThrottleanddispatchThrottle.Dispose of object when finished it. This will free up hardware resource
Used for handling certain internal error conditions, where the object still exists but hardware is not associated with it.
After this, further usage of this Throttle object will result in a JmriException.
- Specified by:
disposeThrottlein interfaceThrottleManager- Overrides:
disposeThrottlein classAbstractThrottleManager- Parameters:
t- Throttle being releasedl- Throttle Listener releasing the throttle- Returns:
- true if the throttle has been disposed of.
-