/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.connection.api; import java.util.Collection; import de.rcenvironment.core.communication.model.NetworkContactPoint; /** * A service interface for inspecting and manipulating {@link ConnectionSetup} definitions. * * @author Robert Mischke */ public interface ConnectionSetupService { /** * Creates a {@link ConnectionSetup} in its initial state. No implicit connection attempt is made; to connect, call * {@link ConnectionSetup#TODO} on the returned instance. * * TODO extend documentation after API is settled * * @param ncp the {@link NetworkContactPoint} describing the "physical" destination to connect to, and the transport to use * @param displayName the user-defined name for this connection * @param connnectOnStartup true if the new connection should auto-connect on startup * @return a {@link ConnectionSetup} in its initial state; no implicit connection attempt is made */ ConnectionSetup createConnectionSetup(NetworkContactPoint ncp, String displayName, boolean connnectOnStartup); /** * Removes a {@link ConnectionSetup} from the set of registered channels. If this channel is {@link ConnectionSetupState#CONNECTED}, it * is implicitly closed. * * @param channel the channel to discard */ void disposeConnectionSetup(ConnectionSetup channel); /** * @return all registered {@link ConnectionSetup}s, regardless of their state */ Collection<ConnectionSetup> getAllConnectionSetups(); /** * @return the {@link ConnectionSetup} with the given id, or null if it does not exist * * @param id the numeric id of the {@link ConnectionSetup}; see {@link ConnectionSetup#getId()} */ ConnectionSetup getConnectionSetupById(long id); }