summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanagersupport.h
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-05-08 15:48:17 +0200
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-06-10 10:15:40 +0000
commit23b8a3b2e83e46e9ca8b1e7e314fad7030b23ff4 (patch)
treebf30a066c35c2df4385ff3cd08a9b683e216269b /src/plugins/cpptools/cppmodelmanagersupport.h
parent264132da27ce9a11ca102ce7efaae13b9baaab6b (diff)
downloadqt-creator-23b8a3b2e83e46e9ca8b1e7e314fad7030b23ff4.tar.gz
Clang: Use completion through backend process
This makes us independent of libclang crashes for completion. Re-parsing for highlighting still happens in the Qt Creator process. Run in verbose mode: qtc.clangcodemodel.ipc=true Run tests: -test "ClangCodeModel" Task-number: QTCREATORBUG-14108 Task-number: QTCREATORBUG-12819 Change-Id: Id3e95bd2afdb6508bbd1d35fddc69534a909b905 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanagersupport.h')
-rw-r--r--src/plugins/cpptools/cppmodelmanagersupport.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cppmodelmanagersupport.h b/src/plugins/cpptools/cppmodelmanagersupport.h
index bea1ef58aa..fe592d664d 100644
--- a/src/plugins/cpptools/cppmodelmanagersupport.h
+++ b/src/plugins/cpptools/cppmodelmanagersupport.h
@@ -33,6 +33,7 @@
#include "cpptools_global.h"
+#include <QSharedPointer>
#include <QString>
namespace TextEditor { class TextDocument; }
@@ -45,16 +46,27 @@ class CppCompletionAssistProvider;
class CPPTOOLS_EXPORT ModelManagerSupport
{
public:
- virtual ~ModelManagerSupport() = 0;
+ using Ptr = QSharedPointer<ModelManagerSupport>;
- virtual QString id() const = 0;
- virtual QString displayName() const = 0;
+public:
+ virtual ~ModelManagerSupport() = 0;
virtual CppCompletionAssistProvider *completionAssistProvider() = 0;
virtual BaseEditorDocumentProcessor *editorDocumentProcessor(
TextEditor::TextDocument *baseTextDocument) = 0;
};
+class CPPTOOLS_EXPORT ModelManagerSupportProvider
+{
+public:
+ virtual ~ModelManagerSupportProvider() {}
+
+ virtual QString id() const = 0;
+ virtual QString displayName() const = 0;
+
+ virtual ModelManagerSupport::Ptr createModelManagerSupport() = 0;
+};
+
} // CppTools namespace
#endif // CPPTOOLS_CPPMODELMANAGERSUPPORT_H