Rewrite ::getObjects usage to use predicate version

This makes the code easier to read and shorter.

Change-Id: I6d582bd9861aa0208565301f61f098e9313b6c89
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
Daniel Teske
2014-05-08 11:58:23 +02:00
parent ce1a691abe
commit 3c413fc358
18 changed files with 120 additions and 179 deletions

View File

@@ -429,36 +429,26 @@ RunConfiguration *IRunConfigurationFactory::restore(Target *parent, const QVaria
IRunConfigurationFactory *IRunConfigurationFactory::find(Target *parent, const QVariantMap &map)
{
QList<IRunConfigurationFactory *> factories
= ExtensionSystem::PluginManager::getObjects<IRunConfigurationFactory>();
foreach (IRunConfigurationFactory *factory, factories) {
if (factory->canRestore(parent, map))
return factory;
}
return 0;
return ExtensionSystem::PluginManager::getObject<IRunConfigurationFactory>(
[&parent, &map](IRunConfigurationFactory *factory) {
return factory->canRestore(parent, map);
});
}
IRunConfigurationFactory *IRunConfigurationFactory::find(Target *parent, RunConfiguration *rc)
{
QList<IRunConfigurationFactory *> factories
= ExtensionSystem::PluginManager::getObjects<IRunConfigurationFactory>();
foreach (IRunConfigurationFactory *factory, factories) {
if (factory->canClone(parent, rc))
return factory;
}
return 0;
return ExtensionSystem::PluginManager::getObject<IRunConfigurationFactory>(
[&parent, rc](IRunConfigurationFactory *factory) {
return factory->canClone(parent, rc);
});
}
QList<IRunConfigurationFactory *> IRunConfigurationFactory::find(Target *parent)
{
QList<IRunConfigurationFactory *> factories
= ExtensionSystem::PluginManager::getObjects<IRunConfigurationFactory>();
QList<IRunConfigurationFactory *> result;
foreach (IRunConfigurationFactory *factory, factories) {
if (!factory->availableCreationIds(parent).isEmpty())
result << factory;
}
return result;
return ExtensionSystem::PluginManager::getObjects<IRunConfigurationFactory>(
[&parent](IRunConfigurationFactory *factory) {
return !factory->availableCreationIds(parent).isEmpty();
});
}
/*!