summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanagerinterface.h
diff options
context:
space:
mode:
authorRoberto Raggi <qtc-committer@nokia.com>2008-12-08 10:44:56 +0100
committerRoberto Raggi <qtc-committer@nokia.com>2008-12-08 10:45:27 +0100
commitd74ddb76b6229746f8c4538b3a35c760d51d2fd3 (patch)
treec81ce1f33a8d2d9c794ba1524357d59e687622a6 /src/plugins/cpptools/cppmodelmanagerinterface.h
parent44cc9a2b400a4c695d9f21cce9cebee0d571318a (diff)
downloadqt-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.h32
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