diff options
author | Eike Ziller <eike.ziller@qt.io> | 2019-08-29 11:34:13 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2019-09-13 06:43:02 +0000 |
commit | b6c227714664aa6024f1390c0deaf692c6e05ef6 (patch) | |
tree | cc431c038deff40e243c354b7c6ecffd40cc57b5 /src/plugins/cpptools/cppprojectupdater.h | |
parent | 3beab5c985184f760ee0f06447db7f8b418ee1ee (diff) | |
download | qt-creator-b6c227714664aa6024f1390c0deaf692c6e05ef6.tar.gz |
GenericProject: Make dependency on CppTools optional
Especially in the light of the language server, the generic project is
currently the project one can use for language servers that require a
"project workspace".
Makes it possibly to run Qt Creator with
"-noload CppTools" if you still want to use generic
projects with some other language.
Change-Id: Ib9059289a2db4c44c0c1060a02fcdafacb885fbd
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppprojectupdater.h')
-rw-r--r-- | src/plugins/cpptools/cppprojectupdater.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cppprojectupdater.h b/src/plugins/cpptools/cppprojectupdater.h index 460cf707fb..5d95fa087c 100644 --- a/src/plugins/cpptools/cppprojectupdater.h +++ b/src/plugins/cpptools/cppprojectupdater.h @@ -25,6 +25,7 @@ #pragma once +#include "cppprojectupdaterinterface.h" #include "cpptools_global.h" #include "projectinfo.h" @@ -35,7 +36,18 @@ namespace CppTools { class ProjectInfo; -class CPPTOOLS_EXPORT CppProjectUpdater : public QObject +// registered in extensionsystem's object pool for plugins with weak dependency to CppTools +class CPPTOOLS_EXPORT CppProjectUpdaterFactory : public QObject +{ + Q_OBJECT +public: + CppProjectUpdaterFactory(); + + // keep the namespace, for the type name in the invokeMethod call + Q_INVOKABLE CppTools::CppProjectUpdaterInterface *create(); +}; + +class CPPTOOLS_EXPORT CppProjectUpdater : public QObject, public CppProjectUpdaterInterface { Q_OBJECT @@ -43,8 +55,8 @@ public: CppProjectUpdater(); ~CppProjectUpdater() override; - void update(const ProjectExplorer::ProjectUpdateInfo &projectUpdateInfo); - void cancel(); + void update(const ProjectExplorer::ProjectUpdateInfo &projectUpdateInfo) override; + void cancel() override; private: void cancelAndWaitForFinished(); |