forked from qt-creator/qt-creator
CMake: Use unique_ptr to manage builddirreader
Change-Id: I1acac29bdfa4dfaaf79835636c3e3a4484e8183c Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -108,7 +108,7 @@ void BuildDirManager::updateReaderType(const BuildDirParameters &p,
|
|||||||
std::function<void()> todo)
|
std::function<void()> todo)
|
||||||
{
|
{
|
||||||
if (!m_reader || !m_reader->isCompatible(p)) {
|
if (!m_reader || !m_reader->isCompatible(p)) {
|
||||||
m_reader.reset(BuildDirReader::createReader(p));
|
m_reader = BuildDirReader::createReader(p);
|
||||||
connect(m_reader.get(), &BuildDirReader::configurationStarted,
|
connect(m_reader.get(), &BuildDirReader::configurationStarted,
|
||||||
this, &BuildDirManager::parsingStarted);
|
this, &BuildDirManager::parsingStarted);
|
||||||
connect(m_reader.get(), &BuildDirReader::dataAvailable,
|
connect(m_reader.get(), &BuildDirReader::dataAvailable,
|
||||||
|
@@ -39,13 +39,13 @@ namespace Internal {
|
|||||||
// BuildDirReader:
|
// BuildDirReader:
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
BuildDirReader *BuildDirReader::createReader(const BuildDirParameters &p)
|
std::unique_ptr<BuildDirReader> BuildDirReader::createReader(const BuildDirParameters &p)
|
||||||
{
|
{
|
||||||
CMakeTool *cmake = p.cmakeTool();
|
CMakeTool *cmake = p.cmakeTool();
|
||||||
QTC_ASSERT(p.isValid() && cmake, return nullptr);
|
QTC_ASSERT(p.isValid() && cmake, return {});
|
||||||
if (cmake->hasServerMode())
|
if (cmake->hasServerMode())
|
||||||
return new ServerModeReader;
|
return std::make_unique<ServerModeReader>();
|
||||||
return new TeaLeafReader;
|
return std::make_unique<TeaLeafReader>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildDirReader::setParameters(const BuildDirParameters &p)
|
void BuildDirReader::setParameters(const BuildDirParameters &p)
|
||||||
|
@@ -52,7 +52,7 @@ class BuildDirReader : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static BuildDirReader *createReader(const BuildDirParameters &p);
|
static std::unique_ptr<BuildDirReader> createReader(const BuildDirParameters &p);
|
||||||
virtual void setParameters(const BuildDirParameters &p);
|
virtual void setParameters(const BuildDirParameters &p);
|
||||||
|
|
||||||
virtual bool isCompatible(const BuildDirParameters &p) = 0;
|
virtual bool isCompatible(const BuildDirParameters &p) = 0;
|
||||||
|
Reference in New Issue
Block a user