package org.tmatesoft.svn.core.internal.io.svn.ssh; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import com.trilead.ssh2.ChannelCondition; import com.trilead.ssh2.Session; public class SshSession { private SshConnection myOwner; private Session mySession; public SshSession(SshConnection owner, Session session) { mySession = session; myOwner = owner; } public void close() { mySession.close(); waitForCondition(ChannelCondition.CLOSED, 0); myOwner.sessionClosed(this); } public InputStream getOut() { return mySession.getStdout(); } public InputStream getErr() { return mySession.getStderr(); } public OutputStream getIn() { return mySession.getStdin(); } public Integer getExitCode() { return mySession.getExitStatus(); } public String getExitSignal() { return mySession.getExitSignal(); } public void waitForCondition(int code, long timeout) { mySession.waitForCondition(code, timeout); } public void execCommand(String command) throws IOException { mySession.execCommand(command); } public void ping() throws IOException { mySession.ping(); } }