summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppsourceprocessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppsourceprocessor.h')
-rw-r--r--src/plugins/cpptools/cppsourceprocessor.h17
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;