aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotoolsprojectmanager
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-01-29 16:51:17 +0100
committerhjk <hjk@qt.io>2019-01-30 16:51:05 +0000
commit9bb936499d5e386a3439e6e2856acf0caba38bc7 (patch)
tree2d8503afa77b52696a1aa83b2c6a949b64c18b8e /src/plugins/autotoolsprojectmanager
parent5cf2889856847389556e6adba3e3609252dd1429 (diff)
ProjectExplorer: Collapse BuildInfo hierarchy
... to pass it around as real values, avoiding, among others, the need of occasional explicit deletion. The formerly extra members of the derived stuff are handled via an extra variant (for data) and via a functor in the build configuration factory. The change is mechanical. Change-Id: I19ca4e0c5f0a5b196fc16dfb98bb005dc679f855 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/autotoolsprojectmanager')
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp29
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h10
2 files changed, 18 insertions, 21 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
index 93f62323a13..33ebf0f1881 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
+++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp
@@ -64,7 +64,7 @@ AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::I
setBuildDirectory(Utils::FileName::fromString("/<foobar>"));
}
-void AutotoolsBuildConfiguration::initialize(const BuildInfo *info)
+void AutotoolsBuildConfiguration::initialize(const BuildInfo &info)
{
BuildConfiguration::initialize(info);
@@ -114,30 +114,27 @@ AutotoolsBuildConfigurationFactory::AutotoolsBuildConfigurationFactory()
setSupportedProjectMimeTypeName(Constants::MAKEFILE_MIMETYPE);
}
-QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableBuilds(const Target *parent) const
+QList<BuildInfo> AutotoolsBuildConfigurationFactory::availableBuilds(const Target *parent) const
{
return {createBuildInfo(parent->kit(), parent->project()->projectDirectory())};
}
-QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
+QList<BuildInfo> AutotoolsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
{
- QList<BuildInfo *> result;
- BuildInfo *info = createBuildInfo(k,
- Utils::FileName::fromString(AutotoolsProject::defaultBuildDirectory(projectPath)));
+ BuildInfo info = createBuildInfo(k,
+ Utils::FileName::fromString(AutotoolsProject::defaultBuildDirectory(projectPath)));
//: The name of the build configuration created by default for a autotools project.
- info->displayName = tr("Default");
- result << info;
- return result;
+ info.displayName = tr("Default");
+ return {info};
}
-BuildInfo *AutotoolsBuildConfigurationFactory::createBuildInfo(const Kit *k,
- const Utils::FileName &buildDir) const
+BuildInfo AutotoolsBuildConfigurationFactory::createBuildInfo(const Kit *k,
+ const Utils::FileName &buildDir) const
{
- auto info = new BuildInfo(this);
- info->typeName = tr("Build");
- info->buildDirectory = buildDir;
- info->kitId = k->id();
-
+ BuildInfo info(this);
+ info.typeName = tr("Build");
+ info.buildDirectory = buildDir;
+ info.kitId = k->id();
return info;
}
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h
index 2c88c26b71a..2cd784c235e 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h
+++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h
@@ -41,7 +41,7 @@ class AutotoolsBuildConfiguration : public ProjectExplorer::BuildConfiguration
friend class ProjectExplorer::BuildConfigurationFactory;
AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id);
- void initialize(const ProjectExplorer::BuildInfo *info) override;
+ void initialize(const ProjectExplorer::BuildInfo &info) override;
ProjectExplorer::NamedWidget *createConfigWidget() override;
BuildType buildType() const override;
};
@@ -54,11 +54,11 @@ public:
AutotoolsBuildConfigurationFactory();
private:
- QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const override;
- QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
- const QString &projectPath) const override;
+ QList<ProjectExplorer::BuildInfo> availableBuilds(const ProjectExplorer::Target *parent) const override;
+ QList<ProjectExplorer::BuildInfo> availableSetups(const ProjectExplorer::Kit *k,
+ const QString &projectPath) const override;
- ProjectExplorer::BuildInfo *createBuildInfo(const ProjectExplorer::Kit *k, const Utils::FileName &buildDir) const;
+ ProjectExplorer::BuildInfo createBuildInfo(const ProjectExplorer::Kit *k, const Utils::FileName &buildDir) const;
};
} // namespace Internal