diff options
author | hjk <hjk@qt.io> | 2018-01-26 15:38:21 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-01-26 15:09:11 +0000 |
commit | 268efa4a0bc45b331d2f989690124af0860a98ff (patch) | |
tree | 69107b42c60b086bd762904b87c23525d71a0027 /src/plugins/autotoolsprojectmanager | |
parent | 53d14fbb4829dedf334ca8c42b7459b55c3c54bc (diff) | |
download | qt-creator-268efa4a0bc45b331d2f989690124af0860a98ff.tar.gz |
Autotools: Remove dependency on plugin object pool
Change-Id: I402e84d2702faf58b18ce896ebda5501966e5c9d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/autotoolsprojectmanager')
-rw-r--r-- | src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp | 29 | ||||
-rw-r--r-- | src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h | 11 |
2 files changed, 28 insertions, 12 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp index c323754a65..b18e276730 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp @@ -36,10 +36,23 @@ #include <projectexplorer/projectmanager.h> -#include <QStringList> -#include <QtPlugin> +namespace AutotoolsProjectManager { +namespace Internal { -using namespace AutotoolsProjectManager::Internal; +class AutotoolsProjectPluginRunData +{ +public: + AutotoolsBuildConfigurationFactory buildConfigurationFactory; + MakeStepFactory makeStepFaactory; + AutogenStepFactory autogenStepFactory; + ConfigureStepFactory configureStepFactory; + AutoreconfStepFactory autoreconfStepFactory; +}; + +AutotoolsProjectPlugin::~AutotoolsProjectPlugin() +{ + delete m_runData; +} void AutotoolsProjectPlugin::extensionsInitialized() { } @@ -50,13 +63,11 @@ bool AutotoolsProjectPlugin::initialize(const QStringList &arguments, Q_UNUSED(arguments) Q_UNUSED(errorString) - addAutoReleasedObject(new AutotoolsBuildConfigurationFactory); - addAutoReleasedObject(new MakeStepFactory); - addAutoReleasedObject(new AutogenStepFactory); - addAutoReleasedObject(new ConfigureStepFactory); - addAutoReleasedObject(new AutoreconfStepFactory); - + m_runData = new AutotoolsProjectPluginRunData; ProjectExplorer::ProjectManager::registerProjectType<AutotoolsProject>(Constants::MAKEFILE_MIMETYPE); return true; } + +} // Internal +} // AutotoolsProjectManager diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h index 58d9ba8b19..5e710ff050 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h @@ -60,14 +60,19 @@ namespace Internal { * be executed in the build process) */ +class AutotoolsProjectPluginRunData; + class AutotoolsProjectPlugin : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "AutotoolsProjectManager.json") -public: - void extensionsInitialized() override; - bool initialize(const QStringList &arguments, QString *errorString) override; + ~AutotoolsProjectPlugin() final; + + void extensionsInitialized() final; + bool initialize(const QStringList &arguments, QString *errorString) final; + + AutotoolsProjectPluginRunData *m_runData; }; } // namespace Internal |