001package jmri.jmrix.openlcb;
002
003import jmri.jmrix.ConnectionTypeList;
004import org.openide.util.lookup.ServiceProvider;
005
006import javax.annotation.Nonnull;
007
008/**
009 * Returns a list of valid Connection Types
010 *
011 * @author Bob Jacobsen Copyright (C) 2010
012 * @author Kevin Dickerson Copyright (C) 2010
013  *
014 */
015@ServiceProvider(service = ConnectionTypeList.class)
016public class OlcbConnectionTypeList implements jmri.jmrix.ConnectionTypeList {
017
018    public static final String OPENLCB = "OpenLCB";
019    public static final String LCC = "LCC";
020
021    @Nonnull
022    @Override
023    public String[] getAvailableProtocolClasses() {
024
025        // set the connection types to have OPENLCB at the front
026        jmri.jmrix.can.ConfigurationManager.setOpenLCB();
027
028        // return the list of connector values for a CAN/MERG connection
029        return new String[]{
030            "jmri.jmrix.can.adapters.gridconnect.can2usbino.serialdriver.ConnectionConfig",
031            "jmri.jmrix.can.adapters.gridconnect.canusb.serialdriver.ConnectionConfig",
032            "jmri.jmrix.can.adapters.gridconnect.lccbuffer.serialdriver.ConnectionConfig",
033            "jmri.jmrix.can.adapters.gridconnect.pilcc.serialdriver.ConnectionConfig",
034            "jmri.jmrix.can.adapters.gridconnect.usblcc.serialdriver.ConnectionConfig",
035            "jmri.jmrix.can.adapters.gridconnect.net.ConnectionConfig",
036            "jmri.jmrix.can.adapters.lawicell.canusb.serialdriver.ConnectionConfig",
037            "jmri.jmrix.can.adapters.loopback.ConnectionConfig",
038            "jmri.jmrix.can.adapters.gridconnect.canrs.serialdriver.ConnectionConfig"
039        };
040    }
041
042    @Nonnull
043    @Override
044    public String[] getManufacturers() {
045        return new String[]{OPENLCB, LCC};
046    }
047
048}