MCPcopy Create free account
hub / github.com/KDAB/GammaRay / scan

Method scan

common/pluginmanager.cpp:58–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56}
57
58void PluginManagerBase::scan(const QString &serviceType)
59{
60 m_errors.clear();
61 QStringList loadedPluginNames;
62
63 foreach (const auto &staticPlugin, QPluginLoader::staticPlugins()) {
64 PluginInfo pluginInfo(staticPlugin);
65
66 if (!pluginInfo.isValid() || loadedPluginNames.contains(pluginInfo.id()) || pluginInfo.interfaceId() != serviceType) {
67 qDebug() << "skipping static plugin " << pluginInfo.id() << pluginInfo.interfaceId();
68 continue;
69 }
70
71 if (createProxyFactory(pluginInfo, m_parent))
72 loadedPluginNames.push_back(pluginInfo.id());
73 }
74
75 foreach (const QString &pluginPath, pluginPaths()) {
76 const QDir dir(pluginPath);
77 IF_DEBUG(cout << "checking plugin path: " << qPrintable(dir.absolutePath()) << endl);
78 foreach (const QString &plugin, dir.entryList(pluginFilter(), QDir::Files)) {
79 const QString pluginFile = dir.absoluteFilePath(plugin);
80 const PluginInfo pluginInfo(pluginFile);
81
82 if (!pluginInfo.isValid() || loadedPluginNames.contains(pluginInfo.id()))
83 continue;
84
85 if (pluginInfo.interfaceId() != serviceType) {
86 IF_DEBUG(
87 qDebug() << Q_FUNC_INFO << "skipping" << pluginFile << "not supporting service type" << serviceType << "service types are: " << pluginInfo.interfaceId();)
88 continue;
89 }
90
91 if (createProxyFactory(pluginInfo, m_parent))
92 loadedPluginNames.push_back(pluginInfo.id());
93 }
94 }
95}

Callers

nothing calls this directly

Calls 1

clearMethod · 0.45

Tested by

no test coverage detected