Package jmri.jmrix.can.cbus
Class CbusDccProgrammerManager
java.lang.Object
jmri.beans.PropertyChangeSupport
jmri.managers.DefaultProgrammerManager
jmri.jmrix.can.cbus.CbusDccProgrammerManager
- All Implemented Interfaces:
AddressedProgrammerManager,PropertyChangeFirer,PropertyChangeProvider,GlobalProgrammerManager
Extend DefaultProgrammerManager to provide programmers for CBUS systems
Added methods to manipulate the programmer availability to support hardware
that can redirect ops mode or service mode packets to a particular interface.
- See Also:
-
Field Summary
FieldsFields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupport -
Constructor Summary
ConstructorsConstructorDescriptionCbusDccProgrammerManager(Programmer serviceModeProgrammer, CanSystemConnectionMemo memo) -
Method Summary
Modifier and TypeMethodDescriptionprotected AddressedProgrammergetConcreteAddressedProgrammer(boolean pLongAddress, int pAddress) Gain access to a Addressed Mode Programmer without reservation.booleanCBUS DCC Programmer has hardware support for ops modebooleanDoes Programmer currently support ops modebooleanProgrammer currently support service modebooleanCBUS DCC Programmer has hardware support for service modefinal voidmySetAddressedModePossible(boolean state) Set availability of addressed (ops mode) programmer.final voidmySetGlobalProgrammerAvailable(boolean state) Set availability of global (service mode) programmer.protected AddressedProgrammerreserveConcreteAddressedProgrammer(boolean pLongAddress, int pAddress) Gain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.voidsetAddressedModePossible(boolean state) Set availability of addressed (ops mode) programmer.voidsetGlobalProgrammerAvailable(boolean state) Set availability of global (service mode) programmer.protected final voidCheck that the programming mode preferences, which may be default values for a new connection or if they have never been set, are consistent with the programmer modes for the connected hardwareMethods inherited from class jmri.managers.DefaultProgrammerManager
dispose, getAddressedProgrammer, getConcreteGlobalProgrammer, getDefaultModes, getGlobalProgrammer, getUserName, isAddressedModePossible, releaseAddressedProgrammer, releaseGlobalProgrammer, reserveAddressedProgrammer, reserveConcreteGlobalProgrammer, reserveGlobalProgrammer, toStringMethods inherited from class jmri.beans.PropertyChangeSupport
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.AddressedProgrammerManager
getAddressedProgrammer, reserveAddressedProgrammerMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Field Details
-
tc
-
-
Constructor Details
-
CbusDccProgrammerManager
-
-
Method Details
-
validateProgrammingModes
Check that the programming mode preferences, which may be default values for a new connection or if they have never been set, are consistent with the programmer modes for the connected hardware- Parameters:
memo- CAN system connection emo
-
isAddressedModeHardwareAvailable
CBUS DCC Programmer has hardware support for ops mode- Returns:
- true
-
isGlobalProgrammerHardwareAvailable
CBUS DCC Programmer has hardware support for service mode- Returns:
- true if available
-
isAddressedModePossible
Does Programmer currently support ops mode- Specified by:
isAddressedModePossiblein interfaceAddressedProgrammerManager- Overrides:
isAddressedModePossiblein classDefaultProgrammerManager- Returns:
- true if possible
-
mySetAddressedModePossible
Set availability of addressed (ops mode) programmer. To avoid calling overridable method from constructor- Parameters:
state- true if possible
-
setAddressedModePossible
Set availability of addressed (ops mode) programmer.- Parameters:
state- true if available
-
isGlobalProgrammerAvailable
Programmer currently support service mode- Specified by:
isGlobalProgrammerAvailablein interfaceGlobalProgrammerManager- Overrides:
isGlobalProgrammerAvailablein classDefaultProgrammerManager- Returns:
- true if available
-
mySetGlobalProgrammerAvailable
Set availability of global (service mode) programmer. To avoid calling overridable method from constructor- Parameters:
state- true if available
-
setGlobalProgrammerAvailable
Set availability of global (service mode) programmer.- Parameters:
state- true if available
-
getConcreteAddressedProgrammer
Description copied from class:DefaultProgrammerManagerGain access to a Addressed Mode Programmer without reservation.- Overrides:
getConcreteAddressedProgrammerin classDefaultProgrammerManager- Parameters:
pLongAddress- true if this is a long (14 bit) address, else falsepAddress- specific decoder address to use- Returns:
- null only if there isn't an Ops Mode Programmer in the system
-
reserveConcreteAddressedProgrammer
protected AddressedProgrammer reserveConcreteAddressedProgrammer(boolean pLongAddress, int pAddress) Description copied from class:DefaultProgrammerManagerGain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.- Overrides:
reserveConcreteAddressedProgrammerin classDefaultProgrammerManager- Parameters:
pLongAddress- true if this is a long (14 bit) address, else falsepAddress- Specific decoder address to use- Returns:
- null if the address is in use by a reserved programmer
-