diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-11-22 20:34:52 -0800 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-11-27 18:28:07 +0000 |
commit | dcb93231197a67ca5abd3244cc8dbf2165064fc1 (patch) | |
tree | 4c5ddcd819b7ba1afbf612e67e41f7c83501c19e /src/lib/corelib/tools/scannerpluginmanager.cpp | |
parent | 2a367deb29e1f5f348966d170586138a8a8d5d59 (diff) |
Don't export Qt dependency to clients from the plugin managers
Change-Id: I24c9c5e43ed5482f98a767e7b062b517ec26e85d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib/tools/scannerpluginmanager.cpp')
-rw-r--r-- | src/lib/corelib/tools/scannerpluginmanager.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/lib/corelib/tools/scannerpluginmanager.cpp b/src/lib/corelib/tools/scannerpluginmanager.cpp index 55fed81c0..d0a84e7de 100644 --- a/src/lib/corelib/tools/scannerpluginmanager.cpp +++ b/src/lib/corelib/tools/scannerpluginmanager.cpp @@ -39,11 +39,18 @@ #include "scannerpluginmanager.h" +#include <language/filetags.h> + #include <plugins/scanner/scanner.h> namespace qbs { namespace Internal { +class ScannerPluginManagerPrivate { +public: + std::map<FileTag, std::vector<ScannerPlugin* >> scannerPlugins; +}; + ScannerPluginManager *ScannerPluginManager::instance() { static ScannerPluginManager scannerPlugin; @@ -51,12 +58,16 @@ ScannerPluginManager *ScannerPluginManager::instance() } ScannerPluginManager::ScannerPluginManager() + : d(new ScannerPluginManagerPrivate) { } -QList<ScannerPlugin *> ScannerPluginManager::scannersForFileTag(const FileTag &fileTag) +std::vector<ScannerPlugin *> ScannerPluginManager::scannersForFileTag(const FileTag &fileTag) { - return instance()->m_scannerPlugins.value(fileTag); + auto it = instance()->d->scannerPlugins.find(fileTag); + if (it != instance()->d->scannerPlugins.cend()) + return it->second; + return { }; } void ScannerPluginManager::registerPlugins(ScannerPlugin **plugins) @@ -65,7 +76,7 @@ void ScannerPluginManager::registerPlugins(ScannerPlugin **plugins) const FileTags &fileTags = FileTags::fromStringList( QString::fromLatin1(plugins[i]->fileTags).split(QLatin1Char(','))); for (const FileTag &tag : fileTags) - m_scannerPlugins[tag].push_back(plugins[i]); + d->scannerPlugins[tag].push_back(plugins[i]); } } |