com.foxsmart.ic.net
Class PlinkSshProtocolHandler

java.lang.Object
  extended by com.foxsmart.ic.net.AbstractCliProtocolHandler
      extended by com.foxsmart.ic.net.PlinkSshProtocolHandler
All Implemented Interfaces:
CliProtocolHandler, ProtocolHandler

public class PlinkSshProtocolHandler
extends AbstractCliProtocolHandler

The PlinkSshProtocolHandler class helps with the handling of sending and receiving of data to and from an SSH client using the plink external process.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.foxsmart.ic.net.ProtocolHandler
ProtocolHandler.Protocol
 
Field Summary
static int DEFAULT_SSH_PORT
          The default SSH socket port.
protected  org.apache.commons.logging.Log log
           
static java.lang.String PARAM_PASSWORD
           
static java.lang.String PARAM_PORT
           
static java.lang.String PARAM_SSH_PROTOCOL
           
static java.lang.String PARAM_USERNAME
           
static java.lang.String PLINK_PROGRAM
           
protected  java.lang.String plinkPath
           
protected  java.lang.Process process
           
static java.lang.String WINDOWS_EXE_EXTENSION
           
 
Fields inherited from class com.foxsmart.ic.net.AbstractCliProtocolHandler
defaultNoDataReadDelay, defaultProtocolTimeout, PASSWORD_MASK
 
Fields inherited from interface com.foxsmart.ic.net.CliProtocolHandler
CR, DEFAULT_NO_DATA_READ_DELAY, PASSWORD_PROMPT, USERNAME_PROMPT
 
Fields inherited from interface com.foxsmart.ic.net.ProtocolHandler
DEFAULT_PROTOCOL_TIMEOUT_SECONDS
 
Constructor Summary
PlinkSshProtocolHandler()
          Default Constructor.
 
Method Summary
 void connect(java.lang.String hostname, java.lang.Integer port, java.lang.String username, java.lang.String password, java.lang.Integer timeout)
          Connects to the hostname at the specified port number and authenticates with the remote device.
 void disconnect()
          This method sets the usernameUsed and passwordUsed flags to false.
 boolean getAvailable()
          Returns whether this protocol handler is available.
 java.io.InputStream getInputStream()
          Returns the connection input stream.
 java.io.OutputStream getOutputStream()
          Returns the connection output stream.
 java.lang.String getPlinkPath()
           
 ProtocolHandler.Protocol getProtocol()
          Returns the SSH protocol.
 boolean isConnected()
          Returns true if the client is currently connected to a server.
 void setPlinkPath(java.lang.String plinkPath)
           
 
Methods inherited from class com.foxsmart.ic.net.AbstractCliProtocolHandler
expect, expect, expect, expect, expect, expect, getAscii, getDefaultNoDataReadDelay, getDefaultProtocolTimeout, getPasswordUsed, getUsernameUsed, read, read, sendCommand, sendCommand, setDefaultNoDataReadDelay, setDefaultProtocolTimeout, setPasswordUsed, setUsernameUsed, toString, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected org.apache.commons.logging.Log log

DEFAULT_SSH_PORT

public static final int DEFAULT_SSH_PORT
The default SSH socket port.

See Also:
Constant Field Values

PLINK_PROGRAM

public static final java.lang.String PLINK_PROGRAM
See Also:
Constant Field Values

WINDOWS_EXE_EXTENSION

public static final java.lang.String WINDOWS_EXE_EXTENSION
See Also:
Constant Field Values

PARAM_SSH_PROTOCOL

public static final java.lang.String PARAM_SSH_PROTOCOL
See Also:
Constant Field Values

PARAM_PORT

public static final java.lang.String PARAM_PORT
See Also:
Constant Field Values

PARAM_USERNAME

public static final java.lang.String PARAM_USERNAME
See Also:
Constant Field Values

PARAM_PASSWORD

public static final java.lang.String PARAM_PASSWORD
See Also:
Constant Field Values

process

protected java.lang.Process process

plinkPath

protected java.lang.String plinkPath
Constructor Detail

PlinkSshProtocolHandler

public PlinkSshProtocolHandler()
Default Constructor.

Method Detail

getProtocol

public ProtocolHandler.Protocol getProtocol()
Returns the SSH protocol.

Returns:
the SSH protocol.

getAvailable

public boolean getAvailable()
Returns whether this protocol handler is available.

Specified by:
getAvailable in interface ProtocolHandler
Overrides:
getAvailable in class AbstractCliProtocolHandler
Returns:
true when the MindTerm implementation is available in the classpath or false if not.

connect

public void connect(java.lang.String hostname,
                    java.lang.Integer port,
                    java.lang.String username,
                    java.lang.String password,
                    java.lang.Integer timeout)
             throws java.lang.Exception
Description copied from interface: CliProtocolHandler
Connects to the hostname at the specified port number and authenticates with the remote device. A socket connection will be established when this call is complete.

Parameters:
hostname - The name of the remote host.
port - The port to connect to on the remote host. If null is passed in, a default port will be used.
username - The username to connect with. Null should be passed in if no username is required.
password - The password to connect with. Null should be passed in if no password is required.
timeout - The timeout in seconds. If null is passed in, a default timeout will be used.
Throws:
AuthenticationFailedException - when a successful connection could not be made
java.net.SocketException - if the socket timeout could not be set.
java.io.IOException - if the socket could not be opened. In most cases you will only want to catch IOException since SocketException is derived from it.
ThreadTimeoutException - if a timeout occurred while connecting to the router.
java.net.UnknownHostException - If the hostname cannot be resolved.
java.lang.Exception - if any other problems were encountered.
See Also:
CliProtocolHandler.connect(String, Integer, String, String, Integer)

isConnected

public boolean isConnected()
Returns true if the client is currently connected to a server.

Returns:
True if the client is currently connected to a server, false otherwise.

disconnect

public void disconnect()
                throws java.io.IOException
Description copied from class: AbstractCliProtocolHandler
This method sets the usernameUsed and passwordUsed flags to false. Specific handlers should override this method to perform the actual disconnection implementation and call this super method as well.

Specified by:
disconnect in interface CliProtocolHandler
Overrides:
disconnect in class AbstractCliProtocolHandler
Throws:
java.io.IOException - If there is an error closing the socket.
See Also:
CliProtocolHandler.disconnect().

getInputStream

public java.io.InputStream getInputStream()
Description copied from interface: CliProtocolHandler
Returns the connection input stream. You should not close the stream when you finish with it. Rather, you should call disconnect.

Returns:
The connection input stream.
See Also:
CliProtocolHandler.getInputStream()

getOutputStream

public java.io.OutputStream getOutputStream()
Description copied from interface: CliProtocolHandler
Returns the connection output stream. You should not close the stream when you finish with it. Rather, you should call disconnect.

Returns:
the connection output stream.
See Also:
CliProtocolHandler.getOutputStream()

getPlinkPath

public java.lang.String getPlinkPath()

setPlinkPath

public void setPlinkPath(java.lang.String plinkPath)


Copyright © 2005-2008 Fox Smart, Inc. All Rights Reserved.