diff options
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanagerinterface.h')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanagerinterface.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index e722d23637..f9c6d667bc 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 ¯o) = 0; + public Q_SLOTS: void updateModifiedSourceFiles(); virtual void updateSourceFiles(const QStringList &sourceFiles) = 0; |