aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/tools/scannerpluginmanager.cpp
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-11-22 20:34:52 -0800
committerJake Petroules <jake.petroules@qt.io>2017-11-27 18:28:07 +0000
commitdcb93231197a67ca5abd3244cc8dbf2165064fc1 (patch)
tree4c5ddcd819b7ba1afbf612e67e41f7c83501c19e /src/lib/corelib/tools/scannerpluginmanager.cpp
parent2a367deb29e1f5f348966d170586138a8a8d5d59 (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.cpp17
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]);
}
}