diff options
| author | Roberto Raggi <qtc-committer@nokia.com> | 2008-12-08 10:44:56 +0100 |
|---|---|---|
| committer | Roberto Raggi <qtc-committer@nokia.com> | 2008-12-08 10:45:27 +0100 |
| commit | d74ddb76b6229746f8c4538b3a35c760d51d2fd3 (patch) | |
| tree | c81ce1f33a8d2d9c794ba1524357d59e687622a6 /src/plugins/cpptools/cppmodelmanagerinterface.h | |
| parent | 44cc9a2b400a4c695d9f21cce9cebee0d571318a (diff) | |
| download | qt-creator-d74ddb76b6229746f8c4538b3a35c760d51d2fd3.tar.gz | |
Protected m_dirty and m_projects with a mutex.
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanagerinterface.h')
| -rw-r--r-- | src/plugins/cpptools/cppmodelmanagerinterface.h | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index 11be08a4b0..e3ad4fe961 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.h +++ b/src/plugins/cpptools/cppmodelmanagerinterface.h @@ -38,6 +38,7 @@ #include <cplusplus/CppDocument.h> #include <QtCore/QObject> #include <QtCore/QMap> +#include <QtCore/QPointer> namespace ProjectExplorer { class Project; @@ -51,10 +52,29 @@ class CPPTOOLS_EXPORT CppModelManagerInterface Q_OBJECT public: - typedef QMap<QString, CPlusPlus::Document::Ptr> DocumentTable; + typedef QMap<QString, CPlusPlus::Document::Ptr> DocumentTable; // ### remove me - struct ProjectInfo + class ProjectInfo { + public: + ProjectInfo() + { } + + ProjectInfo(QPointer<ProjectExplorer::Project> project) + : project(project) + { } + + operator bool() const + { return ! project.isNull(); } + + bool isValid() const + { return ! project.isNull(); } + + bool isNull() const + { return project.isNull(); } + + public: // attributes + QPointer<ProjectExplorer::Project> project; QString projectPath; QByteArray defines; QStringList sourceFiles; @@ -69,10 +89,12 @@ public: virtual void GC() = 0; virtual void updateSourceFiles(const QStringList &sourceFiles) = 0; - virtual CPlusPlus::Document::Ptr document(const QString &fileName) = 0; - virtual DocumentTable documents() = 0; + virtual CPlusPlus::Document::Ptr document(const QString &fileName) const = 0; + virtual DocumentTable documents() const = 0; - virtual ProjectInfo *projectInfo(ProjectExplorer::Project *project) = 0; + virtual QList<ProjectInfo> projectInfos() const = 0; + virtual ProjectInfo projectInfo(ProjectExplorer::Project *project) const = 0; + virtual void updateProjectInfo(const ProjectInfo &pinfo) = 0; }; } // namespace CppTools |
