package info.knacki.pass.io.ssh;

import java.io.IOException;
import java.io.InputStream;

import info.knacki.pass.io.NetworkUtils;

public interface SSHConnection {
    interface OnConnectionReadyListener {
        void OnConnectionReady(SSHConnection connection, InputStream stdout, InputStream stderr);
    }

    interface ConnectionParams extends NetworkUtils.AuthConfig {
        String GetHostname();
    }

    SSHConnection SetOnConnectionReadyListener(OnConnectionReadyListener listener);
    byte[] GetOutputStd() throws IOException;
    byte[] GetOutputErr() throws IOException;
    SSHConnection connect();
    SSHConnection connect(InputStream input);
    void disconnect();
}
