summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libs/utils/qtcprocess.cpp23
-rw-r--r--src/libs/utils/qtcprocess.h25
-rw-r--r--src/plugins/cmakeprojectmanager/cmaketool.cpp2
-rw-r--r--src/plugins/cmakeprojectmanager/cmaketool.h4
4 files changed, 12 insertions, 42 deletions
diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp
index f444466453..10f168b47c 100644
--- a/src/libs/utils/qtcprocess.cpp
+++ b/src/libs/utils/qtcprocess.cpp
@@ -206,7 +206,6 @@ public:
bool m_startFailure = false;
bool m_timeOutMessageBoxEnabled = false;
bool m_waitingForUser = false;
- bool m_isSynchronousProcess = false;
bool m_processUserEvents = false;
};
@@ -252,8 +251,6 @@ QtcProcess::QtcProcess(QObject *parent)
QtcProcess::~QtcProcess()
{
- disconnect(&d->m_timer, nullptr, this, nullptr);
- disconnect(this, nullptr, this, nullptr);
delete d;
}
@@ -567,7 +564,7 @@ void QtcProcess::setResult(Result result)
int QtcProcess::exitCode() const
{
- return d->m_isSynchronousProcess ? d->m_exitCode : d->m_process->exitCode(); // FIXME: Unify.
+ return d->m_exitCode;
}
@@ -946,24 +943,13 @@ void ChannelBuffer::handleRest()
}
}
-// ----------- SynchronousProcess
-SynchronousProcess::SynchronousProcess()
-{
- d->m_isSynchronousProcess = true; // Only for QTC_ASSERTs above.
-}
-
-SynchronousProcess::~SynchronousProcess()
-{
-}
-
-void SynchronousProcess::setProcessUserEventWhileRunning()
+void QtcProcess::setProcessUserEventWhileRunning()
{
d->m_processUserEvents = true;
}
void QtcProcess::setTimeoutS(int timeoutS)
{
- QTC_CHECK(d->m_isSynchronousProcess);
if (timeoutS > 0)
d->m_maxHangTimerCount = qMax(2, timeoutS);
else
@@ -978,7 +964,6 @@ void QtcProcess::setCodec(QTextCodec *c)
void QtcProcess::setTimeOutMessageBoxEnabled(bool v)
{
- QTC_CHECK(d->m_isSynchronousProcess);
d->m_timeOutMessageBoxEnabled = v;
}
@@ -989,7 +974,6 @@ void QtcProcess::setExitCodeInterpreter(const ExitCodeInterpreter &interpreter)
void QtcProcess::setWriteData(const QByteArray &writeData)
{
- QTC_CHECK(d->m_isSynchronousProcess);
d->m_writeData = writeData;
}
@@ -1002,7 +986,6 @@ static bool isGuiThread()
void SynchronousProcess::runBlocking()
{
- QTC_CHECK(d->m_isSynchronousProcess);
// FIXME: Implement properly
if (d->m_commandLine.executable().needsDevice()) {
@@ -1073,7 +1056,6 @@ void SynchronousProcess::runBlocking()
void QtcProcess::setStdOutCallback(const std::function<void (const QString &)> &callback)
{
- QTC_CHECK(d->m_isSynchronousProcess);
d->m_stdOut.outputCallback = callback;
d->m_stdOut.emitSingleLines = false;
d->m_stdOut.emitSingleLines = false;
@@ -1089,7 +1071,6 @@ void QtcProcess::setStdOutLineCallback(const std::function<void (const QString &
void QtcProcess::setStdErrCallback(const std::function<void (const QString &)> &callback)
{
- QTC_CHECK(d->m_isSynchronousProcess);
d->m_stdErr.outputCallback = callback;
d->m_stdErr.emitSingleLines = false;
d->m_stdErr.keepRawData = false;
diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h
index 2309ed3757..3f82d70687 100644
--- a/src/libs/utils/qtcprocess.h
+++ b/src/libs/utils/qtcprocess.h
@@ -98,6 +98,12 @@ public:
void terminate();
void interrupt();
+ // Starts the command and waits for finish. User input processing depends
+ // on whether setProcessUserEventWhileRunning was called.
+ void runBlocking();
+ // This starts a nested event loop when running the command.
+ void setProcessUserEventWhileRunning(); // Avoid.
+
/* Timeout for hanging processes (triggers after no more output
* occurs on stderr/stdout). */
void setTimeoutS(int timeoutS);
@@ -186,7 +192,6 @@ signals:
void readyReadStandardError();
private:
- friend class SynchronousProcess;
friend QTCREATOR_UTILS_EXPORT QDebug operator<<(QDebug str, const QtcProcess &r);
Internal::QtcProcessPrivate *d = nullptr;
@@ -204,22 +209,6 @@ using ExitCodeInterpreter = std::function<QtcProcess::Result(int /*exitCode*/)>;
QTCREATOR_UTILS_EXPORT QDebug operator<<(QDebug str, const QtcProcess &);
-class QTCREATOR_UTILS_EXPORT SynchronousProcess : public QtcProcess
-{
- Q_OBJECT
-public:
- SynchronousProcess();
- ~SynchronousProcess() override;
-
- // Force the use of 'runBlocking' for now.
- void start() = delete;
-
- // This starts a nested event loop when running the command.
- void setProcessUserEventWhileRunning(); // Avoid.
-
- // Starts the command and waits for finish. User input processing depends
- // on whether setProcessUserEventWhileRunning was called.
- void runBlocking();
-};
+using SynchronousProcess = QtcProcess; // FIXME: Remove.
} // namespace Utils
diff --git a/src/plugins/cmakeprojectmanager/cmaketool.cpp b/src/plugins/cmakeprojectmanager/cmaketool.cpp
index 8489822596..74474c005e 100644
--- a/src/plugins/cmakeprojectmanager/cmaketool.cpp
+++ b/src/plugins/cmakeprojectmanager/cmaketool.cpp
@@ -184,7 +184,7 @@ bool CMakeTool::isValid() const
return m_introspection->m_didRun && !m_introspection->m_fileApis.isEmpty();
}
-void CMakeTool::runCMake(SynchronousProcess &cmake, const QStringList &args, int timeoutS) const
+void CMakeTool::runCMake(QtcProcess &cmake, const QStringList &args, int timeoutS) const
{
cmake.setTimeoutS(timeoutS);
cmake.setDisableUnixTerminal();
diff --git a/src/plugins/cmakeprojectmanager/cmaketool.h b/src/plugins/cmakeprojectmanager/cmaketool.h
index 6fa3152771..1414168acb 100644
--- a/src/plugins/cmakeprojectmanager/cmaketool.h
+++ b/src/plugins/cmakeprojectmanager/cmaketool.h
@@ -33,7 +33,7 @@
#include <utils/id.h>
#include <utils/optional.h>
-namespace Utils { class SynchronousProcess; }
+namespace Utils { class QtcProcess; }
namespace CMakeProjectManager {
@@ -112,7 +112,7 @@ public:
private:
void readInformation() const;
- void runCMake(Utils::SynchronousProcess &proc, const QStringList &args, int timeoutS = 1) const;
+ void runCMake(Utils::QtcProcess &proc, const QStringList &args, int timeoutS = 1) const;
void parseFunctionDetailsOutput(const QString &output);
QStringList parseVariableOutput(const QString &output);