forked from qt-creator/qt-creator
ProcessInterface: Get rid of state() method
This is fully controlled by QtcProcess itself, so provide general implementation of state() inside QtcProcess. Task-number: QTCREATORBUG-27358 Change-Id: Id6f0b771ed933f870b80d6856c6d94896f946516 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -107,7 +107,7 @@ public:
|
||||
DockerDeviceProcess(const QSharedPointer<const IDevice> &device, QObject *parent = nullptr);
|
||||
~DockerDeviceProcess() {}
|
||||
|
||||
void start() override;
|
||||
void startImpl() override;
|
||||
void interrupt() override;
|
||||
|
||||
const QSharedPointer<const IDevice> m_device;
|
||||
@@ -120,7 +120,7 @@ DockerDeviceProcess::DockerDeviceProcess(const QSharedPointer<const IDevice> &de
|
||||
setProcessMode(ProcessMode::Writer);
|
||||
}
|
||||
|
||||
void DockerDeviceProcess::start()
|
||||
void DockerDeviceProcess::startImpl()
|
||||
{
|
||||
QTC_ASSERT(state() == QProcess::NotRunning, return);
|
||||
DockerDevice::ConstPtr dockerDevice = qSharedPointerCast<const DockerDevice>(m_device);
|
||||
@@ -139,7 +139,7 @@ void DockerDeviceProcess::start()
|
||||
setCommand(command);
|
||||
|
||||
LOG("Running process:" << command.toUserOutput() << "in" << workingDirectory().toUserOutput());
|
||||
QtcProcess::start();
|
||||
QtcProcess::startImpl();
|
||||
}
|
||||
|
||||
void DockerDeviceProcess::interrupt()
|
||||
|
||||
@@ -94,7 +94,7 @@ SshDeviceProcess::~SshDeviceProcess()
|
||||
d->setState(SshDeviceProcessPrivate::Inactive);
|
||||
}
|
||||
|
||||
void SshDeviceProcess::start()
|
||||
void SshDeviceProcess::startImpl()
|
||||
{
|
||||
QTC_ASSERT(d->state == SshDeviceProcessPrivate::Inactive, return);
|
||||
QTC_ASSERT(usesTerminal() || !commandLine().isEmpty(), return);
|
||||
@@ -140,22 +140,6 @@ void SshDeviceProcess::kill()
|
||||
d->doSignal(Signal::Kill);
|
||||
}
|
||||
|
||||
QProcess::ProcessState SshDeviceProcess::state() const
|
||||
{
|
||||
switch (d->state) {
|
||||
case SshDeviceProcessPrivate::Inactive:
|
||||
return QProcess::NotRunning;
|
||||
case SshDeviceProcessPrivate::Connecting:
|
||||
case SshDeviceProcessPrivate::Connected:
|
||||
return QProcess::Starting;
|
||||
case SshDeviceProcessPrivate::ProcessRunning:
|
||||
return QProcess::Running;
|
||||
default:
|
||||
QTC_CHECK(false);
|
||||
return QProcess::NotRunning;
|
||||
}
|
||||
}
|
||||
|
||||
ProcessResultData SshDeviceProcess::resultData() const
|
||||
{
|
||||
const ProcessResultData result = QtcProcess::resultData();
|
||||
@@ -190,7 +174,7 @@ void SshDeviceProcess::handleConnected()
|
||||
if (usesTerminal()) {
|
||||
setAbortOnMetaChars(false);
|
||||
setCommand(d->remoteProcess->fullLocalCommandLine(true));
|
||||
QtcProcess::start();
|
||||
QtcProcess::startImpl();
|
||||
} else {
|
||||
connect(d->remoteProcess.get(), &QtcProcess::started,
|
||||
this, &SshDeviceProcess::handleProcessStarted);
|
||||
|
||||
@@ -42,12 +42,11 @@ public:
|
||||
explicit SshDeviceProcess(const QSharedPointer<const IDevice> &device, QObject *parent = nullptr);
|
||||
~SshDeviceProcess() override;
|
||||
|
||||
void start() override;
|
||||
void startImpl() override;
|
||||
void interrupt() override;
|
||||
void terminate() override;
|
||||
void kill() override;
|
||||
|
||||
QProcess::ProcessState state() const override;
|
||||
Utils::ProcessResultData resultData() const override;
|
||||
|
||||
QByteArray readAllStandardOutput() override;
|
||||
|
||||
Reference in New Issue
Block a user