FeatureProvider: Remove Feature and FeatureSet

Use Core::Id for Feature and QSet<Core::Id> for FeatureSet.

Change-Id: I12341036bd9eaa82589d92bd3f7d21f2e6b737bd
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2015-11-27 11:31:35 +01:00
parent 19ee414446
commit 4b0a8648e4
44 changed files with 141 additions and 340 deletions

View File

@@ -407,27 +407,25 @@ void IWizardFactory::clearWizardFactories()
s_areFactoriesLoaded = false;
}
FeatureSet IWizardFactory::pluginFeatures() const
QSet<Id> IWizardFactory::pluginFeatures() const
{
static FeatureSet plugins;
static QSet<Id> plugins;
if (plugins.isEmpty()) {
QStringList list;
// Implicitly create a feature for each plugin loaded:
foreach (ExtensionSystem::PluginSpec *s, ExtensionSystem::PluginManager::plugins()) {
if (s->state() == ExtensionSystem::PluginSpec::Running)
list.append(s->name());
plugins.insert(Id::fromString(s->name()));
}
plugins = FeatureSet::fromStringList(list);
}
return plugins;
}
FeatureSet IWizardFactory::availableFeatures(const QString &platformName) const
QSet<Id> IWizardFactory::availableFeatures(const QString &platformName) const
{
FeatureSet availableFeatures;
QSet<Id> availableFeatures;
foreach (const IFeatureProvider *featureManager, s_providerList)
availableFeatures |= featureManager->availableFeatures(platformName);
availableFeatures.unite(featureManager->availableFeatures(platformName));
return availableFeatures;
}