jmri
Interface ProgrammerManager

All Known Implementing Classes:
CbusDccProgrammerManager, CbusProgrammerManager, DebugProgrammerManager, DefaultProgrammerManager, EasyDccProgrammerManager, LnProgrammerManager, NceProgrammerManager, SprogProgrammerManager, SRCPProgrammerManager, XNetProgrammerManager

public interface ProgrammerManager

Get access to available Programmer objects.

Programmers come in two types:

You get a Programmer object from a ProgrammerManager, which in turn can be located from the InstanceManager.

The ProgramerManager also provides a reserve/release system for tools that want to pretend they have exclusive use of a Programmer. This is a cooperative reservation; both tools (first and second reserver) must be using the reserve/release interface.

This file is part of JMRI.

JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.

JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Author:
Bob Jacobsen Copyright (C) 2001, 2008
See Also:
Programmer

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.
 Programmer getOpsModeProgrammer(boolean pLongAddress, int pAddress)
          Deprecated Since 2.5.1
 Programmer getServiceModeProgrammer()
          Deprecated Since 2.5.1
 boolean isAddressedModePossible()
          Convenience method to check whether you'll be able to get an Addressed Mode programmer.
 boolean isGlobalProgrammerAvailable()
          Convenience method to check whether you'll be able to get a Global Mode programmer.
 boolean isOpsModePossible()
          Deprecated Since 2.5.1
 boolean isServiceModePossible()
          Deprecated Since 2.5.1
 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.
 void releaseOpsModeProgrammer(Programmer p)
          Deprecated Since 2.5.1
 void releaseServiceModeProgrammer(Programmer p)
          Deprecated Since 2.5.1
 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.
 Programmer reserveOpsModeProgrammer(boolean pLongAddress, int pAddress)
          Deprecated Since 2.5.1
 Programmer reserveServiceModeProgrammer()
          Deprecated Since 2.5.1
 

Method Detail

getGlobalProgrammer

Programmer getGlobalProgrammer()
Gain access to the Global Mode Programmer without reservation.

Returns:
null only if there isn't a Global Mode Programmer available via this Manager.

getAddressedProgrammer

Programmer getAddressedProgrammer(boolean pLongAddress,
                                  int pAddress)
Gain access to a Addressed Mode Programmer without reservation.

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

Programmer reserveGlobalProgrammer()
Gain access to the Global Mode Programmer, in the process reserving it for yourself.

Returns:
null if the existing Global Mode programmer is in use

releaseGlobalProgrammer

void releaseGlobalProgrammer(Programmer p)
Return access to the Global Mode Programmer, so that it can be used elsewhere.


reserveAddressedProgrammer

Programmer reserveAddressedProgrammer(boolean pLongAddress,
                                      int pAddress)
Gain access to a (the) Addressed Mode Programmer, in the process reserving it for yourself.

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

void releaseAddressedProgrammer(Programmer p)
Return access to the Global Mode Programmer, so that it can be used elsewhere.


isGlobalProgrammerAvailable

boolean isGlobalProgrammerAvailable()
Convenience method to check whether you'll be able to get a Global Mode programmer.

Returns:
false if there's no chance of getting one

isAddressedModePossible

boolean isAddressedModePossible()
Convenience method to check whether you'll be able to get an Addressed Mode programmer.

Returns:
false if there's no chance of getting one

getServiceModeProgrammer

Programmer getServiceModeProgrammer()
Deprecated Since 2.5.1


getOpsModeProgrammer

Programmer getOpsModeProgrammer(boolean pLongAddress,
                                int pAddress)
Deprecated Since 2.5.1


reserveServiceModeProgrammer

Programmer reserveServiceModeProgrammer()
Deprecated Since 2.5.1


releaseServiceModeProgrammer

void releaseServiceModeProgrammer(Programmer p)
Deprecated Since 2.5.1


reserveOpsModeProgrammer

Programmer reserveOpsModeProgrammer(boolean pLongAddress,
                                    int pAddress)
Deprecated Since 2.5.1


releaseOpsModeProgrammer

void releaseOpsModeProgrammer(Programmer p)
Deprecated Since 2.5.1


isServiceModePossible

boolean isServiceModePossible()
Deprecated Since 2.5.1


isOpsModePossible

boolean isOpsModePossible()
Deprecated Since 2.5.1



Copyright © 1997 - 2009 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