/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.communication.sshconnection.api;
import com.jcraft.jsch.Session;
/**
* Represents an SSH connection setup.
*
* @author Brigitte Boden
*/
public interface SshConnectionSetup {
/**
* @return the identifier for this connection.
*/
String getId();
/**
* @return target host (name or ip) of the connection.
*/
String getHost();
/**
* @return port of the connection.
*/
int getPort();
/**
* @return username set for this connection.
*/
String getUsername();
/**
* @return Displayname for this connection.
*/
String getDisplayName();
/**
* @return location of private key file for this connection, or null, if password authentication is used.
*/
String getKeyfileLocation();
/**
* @return true, if currently connected.
*/
boolean isConnected();
/**
* @return the active sshSession, or null if this ConnectionSetup is not connected;
*/
Session getSession();
/**
* Connects the stored sshSession.
*
* @param passphrase the passphrase for this SSH account.
* @return the active SSH session, or null, if connecting the session did not succeed.
*/
Session connect(String passphrase);
/**
* Disconnects the stored sshSession.
*
*/
void disconnect();
/**
* Get the setting for connect on startup.
*
* @return true, if the connection should be immediately connected.
*/
boolean getConnectOnStartUp();
/**
* Get the setting for storing the passphrase.
*
* @return true, if the passphrase is to be stored.
*/
boolean getStorePassphrase();
/**
* Get the setting using a passphrase.
*
* @return true, if a passphrase is used.
*/
boolean getUsePassphrase();
}