summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanagerinterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanagerinterface.h')
-rw-r--r--src/plugins/cpptools/cppmodelmanagerinterface.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h
index 1976df75ea..18b991e941 100644
--- a/src/plugins/cpptools/cppmodelmanagerinterface.h
+++ b/src/plugins/cpptools/cppmodelmanagerinterface.h
@@ -33,8 +33,9 @@
#include <cpptools/cpptools_global.h>
#include <cplusplus/CppDocument.h>
#include <QtCore/QObject>
-#include <QtCore/QMap>
+#include <QtCore/QHash>
#include <QtCore/QPointer>
+#include <QtCore/QStringList>
namespace ProjectExplorer {
class Project;
@@ -75,6 +76,27 @@ public:
QStringList sourceFiles;
QStringList includePaths;
QStringList frameworkPaths;
+ QStringList precompiledHeaders;
+ };
+
+ class WorkingCopy
+ {
+ public:
+ void insert(const QString &fileName, const QString &source, unsigned revision = 0)
+ { _elements.insert(fileName, qMakePair(source, revision)); }
+
+ bool contains(const QString &fileName) const
+ { return _elements.contains(fileName); }
+
+ QString source(const QString &fileName) const
+ { return _elements.value(fileName).first; }
+
+ QPair<QString, unsigned> get(const QString &fileName) const
+ { return _elements.value(fileName); }
+
+ private:
+ typedef QHash<QString, QPair<QString, unsigned> > Table;
+ Table _elements;
};
public:
@@ -83,7 +105,7 @@ public:
static CppModelManagerInterface *instance();
- virtual QMap<QString, QString> workingCopy() const = 0;
+ virtual WorkingCopy workingCopy() const = 0;
virtual CPlusPlus::Snapshot snapshot() const = 0;
virtual QList<ProjectInfo> projectInfos() const = 0;
@@ -102,6 +124,8 @@ public:
virtual void renameUsages(CPlusPlus::Symbol *symbol) = 0;
virtual void findUsages(CPlusPlus::Symbol *symbol) = 0;
+ virtual void findMacroUsages(const CPlusPlus::Macro &macro) = 0;
+
public Q_SLOTS:
void updateModifiedSourceFiles();
virtual void updateSourceFiles(const QStringList &sourceFiles) = 0;