diff options
Diffstat (limited to 'src/plugins/cpptools/ModelManagerInterface.h')
-rw-r--r-- | src/plugins/cpptools/ModelManagerInterface.h | 91 |
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 |