forked from qt-creator/qt-creator
Utils: Introduce a TemporaryDirectory and TemporaryFile class
Both wrap the corresponding Qt class, but make sure all temporary files or directories are created inside a "master temporary directory". Change-Id: I55461be507c828c965224c02863ea5ed9bbf9498 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
e6017c40fc
commit
c6f90e575e
@@ -34,9 +34,10 @@
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/qtcassert.h>
|
||||
#include <utils/synchronousprocess.h>
|
||||
#include <utils/temporarydirectory.h>
|
||||
#include <utils/temporaryfile.h>
|
||||
|
||||
#include <QDir>
|
||||
#include <QTemporaryFile>
|
||||
|
||||
using namespace Utils;
|
||||
using namespace ProjectExplorer;
|
||||
@@ -277,8 +278,7 @@ void GdbCoreEngine::shutdownEngine()
|
||||
|
||||
static QString tempCoreFilename()
|
||||
{
|
||||
QString pattern = QDir::tempPath() + QLatin1String("/tmpcore-XXXXXX");
|
||||
QTemporaryFile tmp(pattern);
|
||||
Utils::TemporaryFile tmp("tmpcore-XXXXXX");
|
||||
tmp.open();
|
||||
return tmp.fileName();
|
||||
}
|
||||
@@ -292,7 +292,7 @@ void GdbCoreEngine::unpackCoreIfNeeded()
|
||||
showMessage(msg.arg(m_tempCoreName));
|
||||
arguments << QLatin1String("-o") << m_tempCoreName << QLatin1String("-x") << m_coreName;
|
||||
m_coreUnpackProcess = new QProcess(this);
|
||||
m_coreUnpackProcess->setWorkingDirectory(QDir::tempPath());
|
||||
m_coreUnpackProcess->setWorkingDirectory(Utils::TemporaryDirectory::masterDirectoryPath());
|
||||
m_coreUnpackProcess->start(QLatin1String("lzop"), arguments);
|
||||
connect(m_coreUnpackProcess, static_cast<void (QProcess::*)(int)>(&QProcess::finished),
|
||||
this, &GdbCoreEngine::continueSetupEngine);
|
||||
@@ -303,7 +303,7 @@ void GdbCoreEngine::unpackCoreIfNeeded()
|
||||
m_tempCoreFile.open(QFile::WriteOnly);
|
||||
arguments << QLatin1String("-c") << QLatin1String("-d") << m_coreName;
|
||||
m_coreUnpackProcess = new QProcess(this);
|
||||
m_coreUnpackProcess->setWorkingDirectory(QDir::tempPath());
|
||||
m_coreUnpackProcess->setWorkingDirectory(Utils::TemporaryDirectory::masterDirectoryPath());
|
||||
m_coreUnpackProcess->start(QLatin1String("gzip"), arguments);
|
||||
connect(m_coreUnpackProcess, &QProcess::readyRead, this, &GdbCoreEngine::writeCoreChunk);
|
||||
connect(m_coreUnpackProcess, static_cast<void (QProcess::*)(int)>(&QProcess::finished),
|
||||
|
||||
Reference in New Issue
Block a user