diff options
Diffstat (limited to 'src/plugins/projectexplorer/deployconfiguration.cpp')
-rw-r--r-- | src/plugins/projectexplorer/deployconfiguration.cpp | 70 |
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; |