forked from qt-creator/qt-creator
QtcProcess: Get rid of setErrorString() method
It's internal method, not meant to be used outside. It's only used in case of FailedToStart error. Remove it also from ProcessInterface. Leave it inside DefaultImpl and its subclasses only. Remove m_errorString field from ProcessSetupData. Change-Id: Ie605b95c2ff605ab1259045f1a5b16049207c1d3 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -61,7 +61,7 @@ SshRemoteProcess::SshRemoteProcess(const QString &command, const QStringList &co
|
|||||||
void SshRemoteProcess::emitFinished()
|
void SshRemoteProcess::emitFinished()
|
||||||
{
|
{
|
||||||
if (exitStatus() == QProcess::CrashExit)
|
if (exitStatus() == QProcess::CrashExit)
|
||||||
setErrorString(tr("The ssh process crashed: %1").arg(errorString()));
|
m_errorString = tr("The ssh process crashed: %1").arg(errorString());
|
||||||
emit finished();
|
emit finished();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,6 +75,7 @@ void SshRemoteProcess::emitErrorOccurred(QProcess::ProcessError error)
|
|||||||
void SshRemoteProcess::start()
|
void SshRemoteProcess::start()
|
||||||
{
|
{
|
||||||
QTC_ASSERT(!isRunning(), return);
|
QTC_ASSERT(!isRunning(), return);
|
||||||
|
m_errorString.clear();
|
||||||
const CommandLine cmd = fullLocalCommandLine();
|
const CommandLine cmd = fullLocalCommandLine();
|
||||||
if (!m_displayName.isEmpty()) {
|
if (!m_displayName.isEmpty()) {
|
||||||
Environment env = environment();
|
Environment env = environment();
|
||||||
@@ -86,6 +87,13 @@ void SshRemoteProcess::start()
|
|||||||
QtcProcess::start();
|
QtcProcess::start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString SshRemoteProcess::errorString() const
|
||||||
|
{
|
||||||
|
if (!m_errorString.isEmpty())
|
||||||
|
return m_errorString;
|
||||||
|
return QtcProcess::errorString();
|
||||||
|
}
|
||||||
|
|
||||||
void SshRemoteProcess::requestX11Forwarding(const QString &displayName)
|
void SshRemoteProcess::requestX11Forwarding(const QString &displayName)
|
||||||
{
|
{
|
||||||
m_displayName = displayName;
|
m_displayName = displayName;
|
||||||
|
@@ -42,6 +42,7 @@ public:
|
|||||||
|
|
||||||
void requestX11Forwarding(const QString &displayName);
|
void requestX11Forwarding(const QString &displayName);
|
||||||
void start() override;
|
void start() override;
|
||||||
|
QString errorString() const override;
|
||||||
|
|
||||||
Utils::CommandLine fullLocalCommandLine(bool inTerminal = false) const;
|
Utils::CommandLine fullLocalCommandLine(bool inTerminal = false) const;
|
||||||
|
|
||||||
@@ -55,6 +56,7 @@ private:
|
|||||||
QString m_remoteCommand;
|
QString m_remoteCommand;
|
||||||
QStringList m_connectionArgs;
|
QStringList m_connectionArgs;
|
||||||
QString m_displayName;
|
QString m_displayName;
|
||||||
|
QString m_errorString;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace QSsh
|
} // namespace QSsh
|
||||||
|
@@ -205,7 +205,8 @@ void CallerHandle::handleError(const ErrorSignal *launcherSignal)
|
|||||||
QTC_ASSERT(isCalledFromCallersThread(), return);
|
QTC_ASSERT(isCalledFromCallersThread(), return);
|
||||||
m_processState = QProcess::NotRunning;
|
m_processState = QProcess::NotRunning;
|
||||||
m_error = launcherSignal->error();
|
m_error = launcherSignal->error();
|
||||||
m_setup->m_errorString = launcherSignal->errorString();
|
if (!launcherSignal->errorString().isEmpty())
|
||||||
|
m_errorString = launcherSignal->errorString();
|
||||||
if (m_error == QProcess::FailedToStart)
|
if (m_error == QProcess::FailedToStart)
|
||||||
m_exitCode = 255; // This code is being returned by QProcess when FailedToStart error occurred
|
m_exitCode = 255; // This code is being returned by QProcess when FailedToStart error occurred
|
||||||
emit errorOccurred(m_error);
|
emit errorOccurred(m_error);
|
||||||
@@ -314,7 +315,7 @@ void CallerHandle::cancel()
|
|||||||
case QProcess::NotRunning:
|
case QProcess::NotRunning:
|
||||||
break;
|
break;
|
||||||
case QProcess::Starting:
|
case QProcess::Starting:
|
||||||
m_setup->m_errorString = QCoreApplication::translate("Utils::LauncherHandle",
|
m_errorString = QCoreApplication::translate("Utils::LauncherHandle",
|
||||||
"Process was canceled before it was started.");
|
"Process was canceled before it was started.");
|
||||||
m_error = QProcess::FailedToStart;
|
m_error = QProcess::FailedToStart;
|
||||||
if (LauncherInterface::isReady()) // TODO: race condition with m_processState???
|
if (LauncherInterface::isReady()) // TODO: race condition with m_processState???
|
||||||
@@ -355,13 +356,13 @@ int CallerHandle::exitCode() const
|
|||||||
QString CallerHandle::errorString() const
|
QString CallerHandle::errorString() const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(isCalledFromCallersThread(), return {});
|
QTC_ASSERT(isCalledFromCallersThread(), return {});
|
||||||
return m_setup->m_errorString;
|
return m_errorString;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallerHandle::setErrorString(const QString &str)
|
void CallerHandle::setErrorString(const QString &str)
|
||||||
{
|
{
|
||||||
QTC_ASSERT(isCalledFromCallersThread(), return);
|
QTC_ASSERT(isCalledFromCallersThread(), return);
|
||||||
m_setup->m_errorString = str;
|
m_errorString = str;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallerHandle::start(const QString &program, const QStringList &arguments)
|
void CallerHandle::start(const QString &program, const QStringList &arguments)
|
||||||
|
@@ -164,6 +164,7 @@ private:
|
|||||||
QByteArray m_stdout;
|
QByteArray m_stdout;
|
||||||
QByteArray m_stderr;
|
QByteArray m_stderr;
|
||||||
QProcess::ProcessError m_error = QProcess::UnknownError;
|
QProcess::ProcessError m_error = QProcess::UnknownError;
|
||||||
|
QString m_errorString;
|
||||||
|
|
||||||
QString m_command;
|
QString m_command;
|
||||||
QStringList m_arguments;
|
QStringList m_arguments;
|
||||||
|
@@ -52,7 +52,6 @@ public:
|
|||||||
QProcess::ProcessChannelMode m_processChannelMode = QProcess::SeparateChannels;
|
QProcess::ProcessChannelMode m_processChannelMode = QProcess::SeparateChannels;
|
||||||
QVariantHash m_extraData;
|
QVariantHash m_extraData;
|
||||||
QString m_standardInputFile;
|
QString m_standardInputFile;
|
||||||
QString m_errorString; // partial internal
|
|
||||||
QString m_nativeArguments; // internal, dependent on specific code path
|
QString m_nativeArguments; // internal, dependent on specific code path
|
||||||
|
|
||||||
bool m_abortOnMetaChars = true;
|
bool m_abortOnMetaChars = true;
|
||||||
@@ -89,7 +88,6 @@ public:
|
|||||||
|
|
||||||
virtual QProcess::ProcessError error() const = 0;
|
virtual QProcess::ProcessError error() const = 0;
|
||||||
virtual QString errorString() const = 0;
|
virtual QString errorString() const = 0;
|
||||||
virtual void setErrorString(const QString &str) = 0;
|
|
||||||
|
|
||||||
virtual bool waitForStarted(int msecs) = 0;
|
virtual bool waitForStarted(int msecs) = 0;
|
||||||
virtual bool waitForReadyRead(int msecs) = 0;
|
virtual bool waitForReadyRead(int msecs) = 0;
|
||||||
@@ -147,7 +145,6 @@ public:
|
|||||||
|
|
||||||
QProcess::ProcessError error() const override { return m_target->error(); }
|
QProcess::ProcessError error() const override { return m_target->error(); }
|
||||||
QString errorString() const override { return m_target->errorString(); }
|
QString errorString() const override { return m_target->errorString(); }
|
||||||
void setErrorString(const QString &str) override { m_target->setErrorString(str); }
|
|
||||||
|
|
||||||
bool waitForStarted(int msecs) override { return m_target->waitForStarted(msecs); }
|
bool waitForStarted(int msecs) override { return m_target->waitForStarted(msecs); }
|
||||||
bool waitForReadyRead(int msecs) override { return m_target->waitForReadyRead(msecs); }
|
bool waitForReadyRead(int msecs) override { return m_target->waitForReadyRead(msecs); }
|
||||||
|
@@ -221,6 +221,7 @@ protected:
|
|||||||
void defaultStart();
|
void defaultStart();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual void setErrorString(const QString &str) = 0;
|
||||||
virtual void doDefaultStart(const QString &program, const QStringList &arguments) = 0;
|
virtual void doDefaultStart(const QString &program, const QStringList &arguments) = 0;
|
||||||
bool dissolveCommand(QString *program, QStringList *arguments);
|
bool dissolveCommand(QString *program, QStringList *arguments);
|
||||||
bool ensureProgramExists(const QString &program);
|
bool ensureProgramExists(const QString &program);
|
||||||
@@ -394,7 +395,6 @@ private:
|
|||||||
m_process->setWorkingDirectory(m_setup->m_workingDirectory.path());
|
m_process->setWorkingDirectory(m_setup->m_workingDirectory.path());
|
||||||
m_process->setStandardInputFile(m_setup->m_standardInputFile);
|
m_process->setStandardInputFile(m_setup->m_standardInputFile);
|
||||||
m_process->setProcessChannelMode(m_setup->m_processChannelMode);
|
m_process->setProcessChannelMode(m_setup->m_processChannelMode);
|
||||||
m_process->setErrorString(m_setup->m_errorString);
|
|
||||||
if (m_setup->m_lowPriority)
|
if (m_setup->m_lowPriority)
|
||||||
m_process->setLowPriority();
|
m_process->setLowPriority();
|
||||||
if (m_setup->m_unixTerminalDisabled)
|
if (m_setup->m_unixTerminalDisabled)
|
||||||
@@ -525,7 +525,6 @@ public:
|
|||||||
void setProcessInterface(ProcessInterface *process)
|
void setProcessInterface(ProcessInterface *process)
|
||||||
{
|
{
|
||||||
m_process.reset(process);
|
m_process.reset(process);
|
||||||
m_setup.m_errorString.clear();
|
|
||||||
m_process->setParent(this);
|
m_process->setParent(this);
|
||||||
|
|
||||||
connect(m_process.get(), &ProcessInterface::started,
|
connect(m_process.get(), &ProcessInterface::started,
|
||||||
@@ -1182,15 +1181,7 @@ QString QtcProcess::errorString() const
|
|||||||
{
|
{
|
||||||
if (d->m_process)
|
if (d->m_process)
|
||||||
return d->m_process->errorString();
|
return d->m_process->errorString();
|
||||||
return d->m_setup.m_errorString;
|
return {};
|
||||||
}
|
|
||||||
|
|
||||||
void QtcProcess::setErrorString(const QString &str)
|
|
||||||
{
|
|
||||||
if (d->m_process)
|
|
||||||
d->m_process->setErrorString(str);
|
|
||||||
else
|
|
||||||
d->m_setup.m_errorString = str;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
qint64 QtcProcess::processId() const
|
qint64 QtcProcess::processId() const
|
||||||
|
@@ -75,7 +75,6 @@ public:
|
|||||||
|
|
||||||
QProcess::ProcessError error() const;
|
QProcess::ProcessError error() const;
|
||||||
virtual QString errorString() const;
|
virtual QString errorString() const;
|
||||||
void setErrorString(const QString &str);
|
|
||||||
|
|
||||||
bool waitForStarted(int msecs = 30000);
|
bool waitForStarted(int msecs = 30000);
|
||||||
bool waitForReadyRead(int msecs = 30000);
|
bool waitForReadyRead(int msecs = 30000);
|
||||||
|
@@ -49,7 +49,6 @@ public:
|
|||||||
QByteArray readAllStandardError() final { QTC_CHECK(false); return {}; }
|
QByteArray readAllStandardError() final { QTC_CHECK(false); return {}; }
|
||||||
|
|
||||||
qint64 write(const QByteArray &) final { QTC_CHECK(false); return -1; }
|
qint64 write(const QByteArray &) final { QTC_CHECK(false); return -1; }
|
||||||
void setErrorString(const QString &) final { QTC_CHECK(false); }
|
|
||||||
|
|
||||||
void terminate() final { stopProcess(); }
|
void terminate() final { stopProcess(); }
|
||||||
void kill() final { stopProcess(); }
|
void kill() final { stopProcess(); }
|
||||||
|
Reference in New Issue
Block a user