summaryrefslogtreecommitdiff
path: root/src/plugins/autotoolsprojectmanager
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2018-01-26 15:38:21 +0100
committerhjk <hjk@qt.io>2018-01-26 15:09:11 +0000
commit268efa4a0bc45b331d2f989690124af0860a98ff (patch)
tree69107b42c60b086bd762904b87c23525d71a0027 /src/plugins/autotoolsprojectmanager
parent53d14fbb4829dedf334ca8c42b7459b55c3c54bc (diff)
downloadqt-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.cpp29
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h11
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