From 13d2d499ab95de10330fdfd44d53e50bf5a853b9 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Fri, 6 Jun 2014 14:41:19 +0200 Subject: C++: move post-sourceprocessing action into callback. Change-Id: Iac6c9fe1ada27ac0d96417e490cc5723e6969541 Reviewed-by: Nikolai Kosjar --- src/plugins/cpptools/cppsourceprocessor.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/plugins/cpptools/cppsourceprocessor.h') 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 #include +#include #include #include @@ -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 DocumentCallback; + public: static QString cleanPath(const QString &path); - CppSourceProcessor(QPointer modelManager, bool dumpFileNameWhileParsing = false); - CppSourceProcessor(QPointer 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 &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 m_modelManager; + DocumentCallback m_documentFinished; bool m_dumpFileNameWhileParsing; CPlusPlus::Environment m_env; CPlusPlus::Preprocessor m_preprocess; -- cgit v1.2.1