From 33359a7922e8bb89f47f41a768350a084fc23bcb Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 28 Oct 2014 12:29:23 +0100 Subject: CppTools: Add API to set/query compiler call data ...and make some comparison functions public. Change-Id: If4c9a95031dece32073ce111484a890230190688 Reviewed-by: Fawzi Mohamed --- src/plugins/cpptools/cppprojects.cpp | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'src/plugins/cpptools/cppprojects.cpp') diff --git a/src/plugins/cpptools/cppprojects.cpp b/src/plugins/cpptools/cppprojects.cpp index 4aab008f28..710a387f3a 100644 --- a/src/plugins/cpptools/cppprojects.cpp +++ b/src/plugins/cpptools/cppprojects.cpp @@ -137,6 +137,36 @@ ProjectInfo::ProjectInfo(QPointer project) : m_project(project) {} +bool ProjectInfo::operator ==(const ProjectInfo &other) const +{ + return m_project == other.m_project + && m_projectParts == other.m_projectParts + && m_compilerCallData == other.m_compilerCallData + && m_headerPaths == other.m_headerPaths + && m_sourceFiles == other.m_sourceFiles + && m_defines == other.m_defines; +} + +bool ProjectInfo::operator !=(const ProjectInfo &other) const +{ + return !operator ==(other); +} + +bool ProjectInfo::definesChanged(const ProjectInfo &other) const +{ + return m_defines != other.m_defines; +} + +bool ProjectInfo::configurationChanged(const ProjectInfo &other) const +{ + return definesChanged(other) || m_headerPaths != other.m_headerPaths; +} + +bool ProjectInfo::configurationOrFilesChanged(const ProjectInfo &other) const +{ + return configurationChanged(other) || m_sourceFiles != other.m_sourceFiles; +} + bool ProjectInfo::isValid() const { return !m_project.isNull(); @@ -193,6 +223,7 @@ void ProjectInfo::clearProjectParts() m_headerPaths.clear(); m_sourceFiles.clear(); m_defines.clear(); + m_compilerCallData.clear(); } const ProjectPart::HeaderPaths ProjectInfo::headerPaths() const @@ -210,6 +241,16 @@ const QByteArray ProjectInfo::defines() const return m_defines; } +void ProjectInfo::setCompilerCallData(const CompilerCallData &data) +{ + m_compilerCallData = data; +} + +ProjectInfo::CompilerCallData ProjectInfo::compilerCallData() const +{ + return m_compilerCallData; +} + namespace { class ProjectFileCategorizer { -- cgit v1.2.1