summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/ModelManagerInterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/ModelManagerInterface.h')
-rw-r--r--src/plugins/cpptools/ModelManagerInterface.h91
1 files changed, 55 insertions, 36 deletions
diff --git a/src/plugins/cpptools/ModelManagerInterface.h b/src/plugins/cpptools/ModelManagerInterface.h
index f57b038778..5376daad25 100644
--- a/src/plugins/cpptools/ModelManagerInterface.h
+++ b/src/plugins/cpptools/ModelManagerInterface.h
@@ -33,6 +33,7 @@
#include <cplusplus/CppDocument.h>
#include <languageutils/fakemetaobject.h>
#include "cpptools_global.h"
+#include "cppprojectfile.h"
#include <QObject>
#include <QHash>
@@ -63,48 +64,64 @@ namespace CppTools {
namespace CPlusPlus {
-class CPPTOOLS_EXPORT CppModelManagerInterface : public QObject
+class CPPTOOLS_EXPORT ProjectPart
{
- Q_OBJECT
+public:
+ ProjectPart()
+ : cVersion(C89)
+ , cxxVersion(CXX11)
+ , cxxExtensions(NoExtensions)
+ , qtVersion(UnknownQt)
+ {}
public:
+ enum CVersion {
+ C89,
+ C99,
+ C11
+ };
- class CPPTOOLS_EXPORT ProjectPart
- {
- public:
- ProjectPart()
- : language(CXX11)
- , qtVersion(UnknownQt)
- {}
-
- public: // enums and types
- enum Language {
- C89 = 1,
- C99 = 2,
- CXX = 3,
- CXX11 = 4
- };
- enum QtVersion {
- UnknownQt = -1,
- NoQt = 0,
- Qt4 = 1,
- Qt5 = 2
- };
-
- typedef QSharedPointer<ProjectPart> Ptr;
-
- public: //attributes
- QStringList headerFiles;
- QStringList sourceFiles;
- QStringList objcSourceFiles;
- QByteArray defines;
- QStringList includePaths;
- QStringList frameworkPaths;
- QStringList precompiledHeaders;
- Language language;
- QtVersion qtVersion;
+ enum CXXVersion {
+ CXX98,
+ CXX11
+ };
+
+ enum CXXExtension {
+ NoExtensions = 0x0,
+ GnuExtensions = 0x1,
+ MicrosoftExtensions = 0x2,
+ BorlandExtensions = 0x4,
+ OpenMP = 0x8
+ };
+ Q_DECLARE_FLAGS(CXXExtensions, CXXExtension)
+
+ enum QtVersion {
+ UnknownQt = -1,
+ NoQt = 0,
+ Qt4 = 1,
+ Qt5 = 2
};
+ typedef QSharedPointer<ProjectPart> Ptr;
+
+public: //attributes
+ QList<ProjectFile> files;
+ QByteArray defines;
+ QStringList includePaths;
+ QStringList frameworkPaths;
+ QStringList precompiledHeaders;
+ CVersion cVersion;
+ CXXVersion cxxVersion;
+ CXXExtensions cxxExtensions;
+ QtVersion qtVersion;
+};
+
+class CPPTOOLS_EXPORT CppModelManagerInterface : public QObject
+{
+ Q_OBJECT
+
+public:
+
class CPPTOOLS_EXPORT ProjectInfo
{
public:
@@ -252,4 +269,6 @@ public Q_SLOTS:
} // namespace CPlusPlus
+QDebug operator <<(QDebug stream, const CPlusPlus::ProjectFile &cxxFile);
+
#endif // CPPMODELMANAGERINTERFACE_H