001package jmri.jmrix.tmcc; 002 003import jmri.AddressedProgrammer; 004import jmri.Programmer; 005import jmri.managers.DefaultProgrammerManager; 006import jmri.ProgrammingMode; 007 008/** 009 * Extend DefaultProgrammerManager to provide ops mode programmers for TMCC 010 * systems. 011 * 012 * From EasyDccProgrammerManager 013 * 014 * @see jmri.managers.DefaultProgrammerManager 015 * @author Bob Jacobsen Copyright (C) 2002, 2025 016 * with edits/additions by 017 * @author Timothy Jump Copyright (C) 2025 018 */ 019public class TmccProgrammerManager extends DefaultProgrammerManager { 020 021 public TmccProgrammerManager(Programmer serviceModeProgrammer, TmccSystemConnectionMemo memo) { 022 super(serviceModeProgrammer, memo); 023 _memo = memo; 024 } 025 026 TmccSystemConnectionMemo _memo; 027 028 static final ProgrammingMode TMCCMODE1_ENGID = new ProgrammingMode("TMCCMODE1_ENGID", Bundle.getMessage("TMCCMODE1_ENGID")); 029 static final ProgrammingMode TMCCMODE2_ENGID = new ProgrammingMode("TMCCMODE2_ENGID", Bundle.getMessage("TMCCMODE2_ENGID")); 030 031 static final ProgrammingMode TMCCMODE1_TRKID = new ProgrammingMode("TMCCMODE1_TRKID", Bundle.getMessage("TMCCMODE1_TRKID")); 032 static final ProgrammingMode TMCCMODE2_TRKID = new ProgrammingMode("TMCCMODE2_TRKID", Bundle.getMessage("TMCCMODE2_TRKID")); 033 034 static final ProgrammingMode TMCCMODE1_SWID = new ProgrammingMode("TMCCMODE1_SWID", Bundle.getMessage("TMCCMODE1_SWID")); 035 static final ProgrammingMode TMCCMODE1_ACCID = new ProgrammingMode("TMCCMODE1_ACCID", Bundle.getMessage("TMCCMODE1_ACCID")); 036 037 static final ProgrammingMode TMCCMODE1_ENGFEATURE = new ProgrammingMode("TMCCMODE1_ENGFEATURE", Bundle.getMessage("TMCCMODE1_ENGFEATURE")); 038 static final ProgrammingMode TMCCMODE2_ENGFEATURE = new ProgrammingMode("TMCCMODE2_ENGFEATURE", Bundle.getMessage("TMCCMODE2_ENGFEATURE")); 039 040 /** 041 * For Implementing TMCCOpsModeProgrammer 042 * 043 * @return always false until Ops Mode implemented 044 */ 045 @Override 046 public boolean isAddressedModePossible() { 047 return true; 048 } 049 050 @Override 051 protected AddressedProgrammer getConcreteAddressedProgrammer(boolean pLongAddress, int pAddress) { 052 return new TmccOpsModeProgrammer(pAddress, pLongAddress, _memo); 053 } 054 055 @Override 056 protected AddressedProgrammer reserveConcreteAddressedProgrammer(boolean pLongAddress, int pAddress) { 057 return null; 058 } 059 060 061}