aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/deployconfiguration.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@theqtcompany.com>2014-12-08 15:50:22 +0100
committerDaniel Teske <daniel.teske@theqtcompany.com>2015-01-13 16:12:24 +0100
commitb3f0a1bfbba0b2455b0b99332f1296a67d8a2b50 (patch)
treed3b6abae85cc5cd0b7362945457d518c31dc6bbe /src/plugins/projectexplorer/deployconfiguration.cpp
parent90a2665737b09b51b31813d8f84ac17f86cfb350 (diff)
DeployConfigurationFactory: Properly extract the abstract class
Make DeployConfigurationFactory a true base class. Introduce the DefaultDeployConfigurationFactory as the implementation that actually creates DefaultDeployConfigurations. This mostly moves code around. The virtual canHandle method was mostly unused and was removed from most classes. Change-Id: I170d94c648e67f3fe52a76ffb5344f389ae49efc Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/deployconfiguration.cpp')
-rw-r--r--src/plugins/projectexplorer/deployconfiguration.cpp70
1 files changed, 37 insertions, 33 deletions
diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp
index 1c39a177b5..3ed2a4e707 100644
--- a/src/plugins/projectexplorer/deployconfiguration.cpp
+++ b/src/plugins/projectexplorer/deployconfiguration.cpp
@@ -182,14 +182,42 @@ DeployConfigurationFactory::DeployConfigurationFactory(QObject *parent) :
DeployConfigurationFactory::~DeployConfigurationFactory()
{ }
-QList<Core::Id> DeployConfigurationFactory::availableCreationIds(Target *parent) const
+DeployConfigurationFactory *DeployConfigurationFactory::find(Target *parent, const QVariantMap &map)
+{
+ return ExtensionSystem::PluginManager::getObject<DeployConfigurationFactory>(
+ [&parent, &map](DeployConfigurationFactory *factory) {
+ return factory->canRestore(parent, map);
+ });
+}
+
+QList<DeployConfigurationFactory *> DeployConfigurationFactory::find(Target *parent)
+{
+ return ExtensionSystem::PluginManager::getObjects<DeployConfigurationFactory>(
+ [&parent](DeployConfigurationFactory *factory) {
+ return !factory->availableCreationIds(parent).isEmpty();
+ });
+}
+
+DeployConfigurationFactory *DeployConfigurationFactory::find(Target *parent, DeployConfiguration *dc)
+{
+ return ExtensionSystem::PluginManager::getObject<DeployConfigurationFactory>(
+ [&parent, &dc](DeployConfigurationFactory *factory) {
+ return factory->canClone(parent, dc);
+ });
+}
+
+///
+// DefaultDeployConfigurationFactory
+///
+
+QList<Core::Id> DefaultDeployConfigurationFactory::availableCreationIds(Target *parent) const
{
if (!canHandle(parent))
return QList<Core::Id>();
return QList<Core::Id>() << Core::Id(Constants::DEFAULT_DEPLOYCONFIGURATION_ID);
}
-QString DeployConfigurationFactory::displayNameForId(Core::Id id) const
+QString DefaultDeployConfigurationFactory::displayNameForId(Core::Id id) const
{
if (id == Constants::DEFAULT_DEPLOYCONFIGURATION_ID)
//: Display name of the default deploy configuration
@@ -197,26 +225,26 @@ QString DeployConfigurationFactory::displayNameForId(Core::Id id) const
return QString();
}
-bool DeployConfigurationFactory::canCreate(Target *parent, Core::Id id) const
+bool DefaultDeployConfigurationFactory::canCreate(Target *parent, Core::Id id) const
{
if (!canHandle(parent))
return false;
return id == Constants::DEFAULT_DEPLOYCONFIGURATION_ID;
}
-DeployConfiguration *DeployConfigurationFactory::create(Target *parent, Core::Id id)
+DeployConfiguration *DefaultDeployConfigurationFactory::create(Target *parent, Core::Id id)
{
if (!canCreate(parent, id))
return 0;
return new DefaultDeployConfiguration(parent, id);
}
-bool DeployConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const
+bool DefaultDeployConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const
{
return canCreate(parent, idFromMap(map));
}
-DeployConfiguration *DeployConfigurationFactory::restore(Target *parent, const QVariantMap &map)
+DeployConfiguration *DefaultDeployConfigurationFactory::restore(Target *parent, const QVariantMap &map)
{
if (!canRestore(parent, map))
return 0;
@@ -228,43 +256,19 @@ DeployConfiguration *DeployConfigurationFactory::restore(Target *parent, const Q
return dc;
}
-bool DeployConfigurationFactory::canClone(Target *parent, DeployConfiguration *product) const
+bool DefaultDeployConfigurationFactory::canClone(Target *parent, DeployConfiguration *product) const
{
return canCreate(parent, product->id());
}
-DeployConfiguration *DeployConfigurationFactory::clone(Target *parent, DeployConfiguration *product)
+DeployConfiguration *DefaultDeployConfigurationFactory::clone(Target *parent, DeployConfiguration *product)
{
if (!canClone(parent, product))
return 0;
return new DefaultDeployConfiguration(parent, product);
}
-DeployConfigurationFactory *DeployConfigurationFactory::find(Target *parent, const QVariantMap &map)
-{
- return ExtensionSystem::PluginManager::getObject<DeployConfigurationFactory>(
- [&parent, &map](DeployConfigurationFactory *factory) {
- return factory->canRestore(parent, map);
- });
-}
-
-QList<DeployConfigurationFactory *> DeployConfigurationFactory::find(Target *parent)
-{
- return ExtensionSystem::PluginManager::getObjects<DeployConfigurationFactory>(
- [&parent](DeployConfigurationFactory *factory) {
- return !factory->availableCreationIds(parent).isEmpty();
- });
-}
-
-DeployConfigurationFactory *DeployConfigurationFactory::find(Target *parent, DeployConfiguration *dc)
-{
- return ExtensionSystem::PluginManager::getObject<DeployConfigurationFactory>(
- [&parent, &dc](DeployConfigurationFactory *factory) {
- return factory->canClone(parent, dc);
- });
-}
-
-bool DeployConfigurationFactory::canHandle(Target *parent) const
+bool DefaultDeployConfigurationFactory::canHandle(Target *parent) const
{
if (!parent->project()->supportsKit(parent->kit()) || parent->project()->needsSpecialDeployment())
return false;