jmri.managers
Class DefaultProgrammerManager

java.lang.Object
  extended by jmri.managers.DefaultProgrammerManager
All Implemented Interfaces:
ProgrammerManager
Direct Known Subclasses:
CbusDccProgrammerManager, CbusProgrammerManager, DebugProgrammerManager, EasyDccProgrammerManager, LnProgrammerManager, NceProgrammerManager, SprogProgrammerManager, SRCPProgrammerManager, XNetProgrammerManager

public class DefaultProgrammerManager
extends Object
implements ProgrammerManager

Provides a very-basic implementation of ProgrammerManager. You give it a service-mode Programmer at construction time; Ops Mode requests get a null in response.

Author:
Bob Jacobsen Copyright (C) 2001
See Also:
ProgrammerManager

Constructor Summary
DefaultProgrammerManager(Programmer pProgrammer)
           
 
Method Summary
 Programmer getAddressedProgrammer(boolean pLongAddress, int pAddress)
          Gain access to a Addressed Mode Programmer without reservation.
 Programmer getGlobalProgrammer()
          Gain access to the Global Mode Programmer without reservation.
 boolean isAddressedModePossible()
          Default programmer does not provide Ops Mode
 boolean isGlobalProgrammerAvailable()
          Allow for implementations that do not support Service mode programming
 void releaseAddressedProgrammer(Programmer p)
          Return access to the Global Mode Programmer, so that it can be used elsewhere.
 void releaseGlobalProgrammer(Programmer p)
          Return access to the Global Mode Programmer, so that it can be used elsewhere.
 Programmer reserveAddressedProgrammer(boolean pLongAddress, int pAddress)
          Gain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.
 Programmer reserveGlobalProgrammer()
          Gain access to the Global Mode Programmer, in the process reserving it for yourself.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultProgrammerManager

public DefaultProgrammerManager(Programmer pProgrammer)
Method Detail

getGlobalProgrammer

public Programmer getGlobalProgrammer()
Description copied from interface: ProgrammerManager
Gain access to the Global Mode Programmer without reservation.

Specified by:
getGlobalProgrammer in interface ProgrammerManager
Returns:
null only if there isn't a Global Mode Programmer available via this Manager.

getAddressedProgrammer

public Programmer getAddressedProgrammer(boolean pLongAddress,
                                         int pAddress)
Description copied from interface: ProgrammerManager
Gain access to a Addressed Mode Programmer without reservation.

Specified by:
getAddressedProgrammer in interface ProgrammerManager
Parameters:
pLongAddress - true if this is a long (14 bit) address, else false
pAddress - Specific decoder address to use.
Returns:
null only if there isn't an Ops Mode Programmer in the system

reserveGlobalProgrammer

public Programmer reserveGlobalProgrammer()
Description copied from interface: ProgrammerManager
Gain access to the Global Mode Programmer, in the process reserving it for yourself.

Specified by:
reserveGlobalProgrammer in interface ProgrammerManager
Returns:
null if the existing Global Mode programmer is in use

releaseGlobalProgrammer

public void releaseGlobalProgrammer(Programmer p)
Description copied from interface: ProgrammerManager
Return access to the Global Mode Programmer, so that it can be used elsewhere.

Specified by:
releaseGlobalProgrammer in interface ProgrammerManager

reserveAddressedProgrammer

public Programmer reserveAddressedProgrammer(boolean pLongAddress,
                                             int pAddress)
Description copied from interface: ProgrammerManager
Gain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.

Specified by:
reserveAddressedProgrammer in interface ProgrammerManager
Parameters:
pLongAddress - true if this is a long (14 bit) address, else false
pAddress - Specific decoder address to use.
Returns:
null if the address is in use by a reserved programmer

releaseAddressedProgrammer

public void releaseAddressedProgrammer(Programmer p)
Description copied from interface: ProgrammerManager
Return access to the Global Mode Programmer, so that it can be used elsewhere.

Specified by:
releaseAddressedProgrammer in interface ProgrammerManager

isAddressedModePossible

public boolean isAddressedModePossible()
Default programmer does not provide Ops Mode

Specified by:
isAddressedModePossible in interface ProgrammerManager
Returns:
false if there's no chance of getting one

isGlobalProgrammerAvailable

public boolean isGlobalProgrammerAvailable()
Allow for implementations that do not support Service mode programming

Specified by:
isGlobalProgrammerAvailable in interface ProgrammerManager
Returns:
false if there's no chance of getting one


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