MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / start

Method start

src/plugins/binarytools/configure/binarytoolsmanager.cpp:67–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65}
66
67void ToolProcess::start(const QString &id)
68{
69 if (this->id != id)
70 return;
71
72 stdOut.clear();
73 stdError.clear();
74 process.reset(new QProcess);
75
76 connect(process.data(), static_cast<void (QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished),
77 this, std::bind(&ToolProcess::finished, this, id, std::placeholders::_1, std::placeholders::_2));
78 connect(process.data(), &QProcess::readyReadStandardOutput, this, [=] {
79 QMutexLocker lk(&mutex);
80 stdOut += process->readAllStandardOutput();
81 Q_EMIT readyReadStandardOutput(id);
82 });
83 connect(process.data(), &QProcess::readyReadStandardError, this, [=] {
84 QMutexLocker lk(&mutex);
85 stdError += process->readAllStandardError();
86 Q_EMIT readyReadStandardError(id);
87 });
88
89 process->setProgram(program);
90 process->setArguments(arguments);
91 process->setWorkingDirectory(workingDir);
92 process->setProcessEnvironment(environment);
93
94 process->start();
95 if (!channelData.isEmpty()) {
96 process->write(channelData.toLocal8Bit());
97 process->closeWriteChannel();
98 }
99 process->waitForFinished(-1);
100}
101
102void ToolProcess::stop()
103{

Callers 2

createToolProcessMethod · 0.45
checkCommandExistsMethod · 0.45

Calls 12

connectFunction · 0.85
readAllStandardOutputMethod · 0.80
readAllStandardErrorMethod · 0.80
setProcessEnvironmentMethod · 0.80
clearMethod · 0.45
resetMethod · 0.45
dataMethod · 0.45
setProgramMethod · 0.45
setArgumentsMethod · 0.45
setWorkingDirectoryMethod · 0.45
isEmptyMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected