From 20520dd073bd62d4e8d62ba9770904b4c489d00b Mon Sep 17 00:00:00 2001
From: Christian Kandeler <christian.kandeler@nokia.com>
Date: Wed, 16 Nov 2011 16:54:50 +0100
Subject: [PATCH] SSH: Replace idiosyncratic state checking with standard
 macros.

Change-Id: I1dc92982749b601c803fea033820dcbf5cc75725
Reviewed-by: hjk <qthjk@ovi.com>
---
 src/libs/utils/ssh/sshremoteprocessrunner.cpp | 28 +++++--------------
 1 file changed, 7 insertions(+), 21 deletions(-)

diff --git a/src/libs/utils/ssh/sshremoteprocessrunner.cpp b/src/libs/utils/ssh/sshremoteprocessrunner.cpp
index 9ee48e1faf5..7a3f8bd0a66 100644
--- a/src/libs/utils/ssh/sshremoteprocessrunner.cpp
+++ b/src/libs/utils/ssh/sshremoteprocessrunner.cpp
@@ -35,7 +35,8 @@
 #include "sshconnectionmanager.h"
 #include "sshpseudoterminal.h"
 
-#define ASSERT_STATE(states) assertState(states, Q_FUNC_INFO)
+#include <utils/qtcassert.h>
+
 
 /*!
     \class Utils::SshRemoteProcessRunner
@@ -82,8 +83,6 @@ private:
 
     void run(const QByteArray &command, const SshConnectionParameters &sshParams);
     void setState(State state);
-    void assertState(const QList<State> &allowedStates, const char *func);
-    void assertState(State allowedState, const char *func);
 
     SshConnection::Ptr m_connection;
     State m_state;
@@ -145,7 +144,7 @@ void SshRemoteProcessRunnerPrivate::run(const QByteArray &command,
 
 void SshRemoteProcessRunnerPrivate::handleConnected()
 {
-    ASSERT_STATE(Connecting);
+    QTC_ASSERT(m_state == Connecting, return);
     setState(Connected);
 
     m_process = m_connection->createRemoteProcess(m_command);
@@ -169,13 +168,13 @@ void SshRemoteProcessRunnerPrivate::handleConnectionError(Utils::SshError error)
 
 void SshRemoteProcessRunnerPrivate::handleDisconnected()
 {
-    ASSERT_STATE(QList<State>() << Connecting << Connected << ProcessRunning);
+    QTC_ASSERT(m_state == Connecting || m_state == Connected || m_state == ProcessRunning, return);
     setState(Inactive);
 }
 
 void SshRemoteProcessRunnerPrivate::handleProcessStarted()
 {
-    ASSERT_STATE(Connected);
+    QTC_ASSERT(m_state == Connected, return);
     setState(ProcessRunning);
 
     emit processStarted();
@@ -185,11 +184,11 @@ void SshRemoteProcessRunnerPrivate::handleProcessFinished(int exitStatus)
 {
     switch (exitStatus) {
     case SshRemoteProcess::FailedToStart:
-        ASSERT_STATE(Connected);
+        QTC_ASSERT(m_state == Connected, return);
         break;
     case SshRemoteProcess::KilledBySignal:
     case SshRemoteProcess::ExitedNormally:
-        ASSERT_STATE(ProcessRunning);
+        QTC_ASSERT(m_state == ProcessRunning, return);
         break;
     default:
         Q_ASSERT_X(false, Q_FUNC_INFO, "Impossible exit status.");
@@ -224,19 +223,6 @@ void SshRemoteProcessRunnerPrivate::setState(State state)
     }
 }
 
-void SshRemoteProcessRunnerPrivate::assertState(const QList<State> &allowedStates,
-    const char *func)
-{
-    if (!allowedStates.contains(m_state))
-        qWarning("Unexpected state %d in function %s", m_state, func);
-}
-
-void SshRemoteProcessRunnerPrivate::assertState(State allowedState,
-    const char *func)
-{
-    assertState(QList<State>() << allowedState, func);
-}
-
 } // namespace Internal
 
 SshRemoteProcessRunner::SshRemoteProcessRunner(QObject *parent)
-- 
GitLab