diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-06-06 14:41:19 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-06-18 11:04:35 +0200 |
commit | 13d2d499ab95de10330fdfd44d53e50bf5a853b9 (patch) | |
tree | 15b3f33646e333e44ea10c65d859f22e878c574a /src/plugins/cpptools/cppsourceprocessor.h | |
parent | 528fa525bc415a071d6a69d12f2f2c8c4f406b97 (diff) | |
download | qt-creator-13d2d499ab95de10330fdfd44d53e50bf5a853b9.tar.gz |
C++: move post-sourceprocessing action into callback.
Change-Id: Iac6c9fe1ada27ac0d96417e490cc5723e6969541
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cppsourceprocessor.h')
-rw-r--r-- | src/plugins/cpptools/cppsourceprocessor.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/plugins/cpptools/cppsourceprocessor.h b/src/plugins/cpptools/cppsourceprocessor.h index cd386fb0a0..b5db3b7f49 100644 --- a/src/plugins/cpptools/cppsourceprocessor.h +++ b/src/plugins/cpptools/cppsourceprocessor.h @@ -5,6 +5,7 @@ #include <cplusplus/PreprocessorEnvironment.h> #include <cplusplus/pp-engine.h> +#include <utils/function.h> #include <utils/qtcoverride.h> #include <QHash> @@ -19,21 +20,23 @@ QT_END_NAMESPACE namespace CppTools { namespace Internal { -class CppModelManager; - // Documentation inside. class CppSourceProcessor: public CPlusPlus::Client { Q_DISABLE_COPY(CppSourceProcessor) public: + typedef std::function<void (const CPlusPlus::Document::Ptr &)> DocumentCallback; + +public: static QString cleanPath(const QString &path); - CppSourceProcessor(QPointer<CppModelManager> modelManager, bool dumpFileNameWhileParsing = false); - CppSourceProcessor(QPointer<CppModelManager> modelManager, const CPlusPlus::Snapshot &snapshot, - bool dumpFileNameWhileParsing = false); + CppSourceProcessor(const CPlusPlus::Snapshot &snapshot, DocumentCallback documentFinished); ~CppSourceProcessor(); + void setDumpFileNameWhileParsing(bool onoff) + { m_dumpFileNameWhileParsing = onoff; } + void setRevision(unsigned revision); void setWorkingCopy(const CppTools::CppModelManagerInterface::WorkingCopy &workingCopy); void setIncludePaths(const QStringList &includePaths); @@ -46,12 +49,10 @@ public: CPlusPlus::Snapshot snapshot() const { return m_snapshot; } const QSet<QString> &todo() const { return m_todo; } - CppModelManager *modelManager() const { return m_modelManager.data(); } void setGlobalSnapshot(const CPlusPlus::Snapshot &snapshot) { m_globalSnapshot = snapshot; } private: - CppSourceProcessor(); void addFrameworkPath(const QString &frameworkPath); CPlusPlus::Document::Ptr switchCurrentDocument(CPlusPlus::Document::Ptr doc); @@ -84,7 +85,7 @@ private: private: CPlusPlus::Snapshot m_snapshot; CPlusPlus::Snapshot m_globalSnapshot; - QPointer<CppModelManager> m_modelManager; + DocumentCallback m_documentFinished; bool m_dumpFileNameWhileParsing; CPlusPlus::Environment m_env; CPlusPlus::Preprocessor m_preprocess; |