jmri.jmrix.srcp
Class SRCPThrottleManager

java.lang.Object
  extended by jmri.jmrix.AbstractThrottleManager
      extended by jmri.jmrix.srcp.SRCPThrottleManager
All Implemented Interfaces:
ThrottleManager

public class SRCPThrottleManager
extends AbstractThrottleManager

SRCP implementation of a ThrottleManager.

Based on early NCE code.

Author:
Bob Jacobsen Copyright (C) 2001, 2005, 2008, Modified by Kelly Loyd

Nested Class Summary
 
Nested classes/interfaces inherited from class jmri.jmrix.AbstractThrottleManager
AbstractThrottleManager.Addresses
 
Constructor Summary
SRCPThrottleManager()
          Constructor.
 
Method Summary
 boolean addressTypeUnique()
          Are there any ambiguous addresses (short vs long) on this system?
 boolean canBeLongAddress(int address)
          Address 100 and above is a long address
 boolean canBeShortAddress(int address)
          Address 99 and below is a short address
 boolean disposeThrottle(DccThrottle t, ThrottleListener l)
          Not for general use, see releaseThrottle and dispatchThrottle.
 boolean hasDispatchFunction()
          Check to see if the Dispatch Button should be enabled or not Default to true, override if necessary
 void requestThrottleSetup(LocoAddress address, boolean control)
          Abstract member to actually do the work of configuring a new throttle, usually via interaction with the DCC system
 int supportedSpeedModes()
          What speed modes are supported by this system?
 
Methods inherited from class jmri.jmrix.AbstractThrottleManager
addressReleased, addressStillRequired, attachListener, cancelThrottleRequest, cancelThrottleRequest, dispatchThrottle, failedThrottleRequest, getThrottleInfo, notifyThrottleKnown, releaseThrottle, removeListener, requestThrottle, requestThrottle, requestThrottle, requestThrottleSetup, singleUse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SRCPThrottleManager

public SRCPThrottleManager()
Constructor.

Method Detail

requestThrottleSetup

public void requestThrottleSetup(LocoAddress address,
                                 boolean control)
Description copied from class: AbstractThrottleManager
Abstract member to actually do the work of configuring a new throttle, usually via interaction with the DCC system

Specified by:
requestThrottleSetup in class AbstractThrottleManager

hasDispatchFunction

public boolean hasDispatchFunction()
Description copied from class: AbstractThrottleManager
Check to see if the Dispatch Button should be enabled or not Default to true, override if necessary

Specified by:
hasDispatchFunction in interface ThrottleManager
Overrides:
hasDispatchFunction in class AbstractThrottleManager

canBeLongAddress

public boolean canBeLongAddress(int address)
Address 100 and above is a long address


canBeShortAddress

public boolean canBeShortAddress(int address)
Address 99 and below is a short address


addressTypeUnique

public boolean addressTypeUnique()
Are there any ambiguous addresses (short vs long) on this system?


supportedSpeedModes

public int supportedSpeedModes()
Description copied from class: AbstractThrottleManager
What speed modes are supported by this system? value should be xor of possible modes specifed by the DccThrottle interface

Specified by:
supportedSpeedModes in interface ThrottleManager
Overrides:
supportedSpeedModes in class AbstractThrottleManager

disposeThrottle

public boolean disposeThrottle(DccThrottle t,
                               ThrottleListener l)
Description copied from interface: ThrottleManager
Not for general use, see releaseThrottle and dispatchThrottle.

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:
disposeThrottle in interface ThrottleManager
Overrides:
disposeThrottle in class AbstractThrottleManager
Parameters:
t - Throttle being released
l - Throttle Listener releasing the throttle
Returns:
true if the throttle has been disposed of.


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