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.
 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.
 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.
 

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


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