SSH: Make API of SshRemoteProcess more similar to the one of QProcess.

In the end, we want to derive it from QIODevice as well.

Change-Id: I30e7cb23ec8e5753c363d1f4457b650556860ac2
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
This commit is contained in:
Christian Kandeler
2011-11-14 17:23:51 +01:00
parent 75a7bf2919
commit 232724cc11
20 changed files with 135 additions and 137 deletions

View File

@@ -74,6 +74,8 @@ private slots:
void handleDisconnected();
void handleProcessStarted();
void handleProcessFinished(int exitStatus);
void handleStdout();
void handleStderr();
private:
enum State { Inactive, Connecting, Connected, ProcessRunning };
@@ -150,10 +152,8 @@ void SshRemoteProcessRunnerPrivate::handleConnected()
connect(m_process.data(), SIGNAL(started()), SLOT(handleProcessStarted()));
connect(m_process.data(), SIGNAL(closed(int)),
SLOT(handleProcessFinished(int)));
connect(m_process.data(), SIGNAL(outputAvailable(QByteArray)),
SIGNAL(processOutputAvailable(QByteArray)));
connect(m_process.data(), SIGNAL(errorOutputAvailable(QByteArray)),
SIGNAL(processErrorOutputAvailable(QByteArray)));
connect(m_process.data(), SIGNAL(readyReadStandardOutput()), SLOT(handleStdout()));
connect(m_process.data(), SIGNAL(readyReadStandardError()), SLOT(handleStderr()));
if (m_runInTerminal)
m_process->requestTerminal(m_terminal);
m_process->start();
@@ -198,6 +198,16 @@ void SshRemoteProcessRunnerPrivate::handleProcessFinished(int exitStatus)
emit processClosed(exitStatus);
}
void SshRemoteProcessRunnerPrivate::handleStdout()
{
emit processOutputAvailable(m_process->readAllStandardOutput());
}
void SshRemoteProcessRunnerPrivate::handleStderr()
{
emit processErrorOutputAvailable(m_process->readAllStandardError());
}
void SshRemoteProcessRunnerPrivate::setState(State state)
{
if (m_state != state) {