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 */ 017public class TmccProgrammerManager extends DefaultProgrammerManager { 018 019 public TmccProgrammerManager(Programmer serviceModeProgrammer, TmccSystemConnectionMemo memo) { 020 super(serviceModeProgrammer, memo); 021 _memo = memo; 022 } 023 024 TmccSystemConnectionMemo _memo; 025 026 static final ProgrammingMode TMCCMODE1_ENGID = new ProgrammingMode("TMCCMODE1_ENGID", Bundle.getMessage("TMCCMODE1_ENGID")); 027 static final ProgrammingMode TMCCMODE2_ENGID = new ProgrammingMode("TMCCMODE2_ENGID", Bundle.getMessage("TMCCMODE2_ENGID")); 028 029 static final ProgrammingMode TMCCMODE1_SWID = new ProgrammingMode("TMCCMODE1_SWID", Bundle.getMessage("TMCCMODE1_SWID")); 030 static final ProgrammingMode TMCCMODE1_ACCID = new ProgrammingMode("TMCCMODE1_ACCID", Bundle.getMessage("TMCCMODE1_ACCID")); 031 032 static final ProgrammingMode TMCCMODE1_ENGFEATURE = new ProgrammingMode("TMCCMODE1_ENGFEATURE", Bundle.getMessage("TMCCMODE1_ENGFEATURE")); 033 static final ProgrammingMode TMCCMODE2_ENGFEATURE = new ProgrammingMode("TMCCMODE2_ENGFEATURE", Bundle.getMessage("TMCCMODE2_ENGFEATURE")); 034 035 /** 036 * For Implementing TMCCOpsModeProgrammer 037 * 038 * @return always false until Ops Mode implemented 039 */ 040 @Override 041 public boolean isAddressedModePossible() { 042 return true; 043 } 044 045 @Override 046 protected AddressedProgrammer getConcreteAddressedProgrammer(boolean pLongAddress, int pAddress) { 047 return new TmccOpsModeProgrammer(pAddress, pLongAddress, _memo); 048 } 049 050 @Override 051 protected AddressedProgrammer reserveConcreteAddressedProgrammer(boolean pLongAddress, int pAddress) { 052 return null; 053 } 054 055 056}