78void QExtensionManager::registerExtensions(QAbstractExtensionFactory *factory,
const QString &iid)
81 m_globalExtension.prepend(factory);
85 auto it = m_extensions.find(iid);
86 if (it == m_extensions.end())
87 it = m_extensions.insert(iid, FactoryList());
89 it.value().prepend(factory);
96void QExtensionManager::unregisterExtensions(QAbstractExtensionFactory *factory,
const QString &iid)
99 m_globalExtension.removeAll(factory);
103 const auto it = m_extensions.find(iid);
104 if (it == m_extensions.end())
107 FactoryList &factories = it.value();
108 factories.removeAll(factory);
110 if (factories.isEmpty())
111 m_extensions.erase(it);
118QObject *QExtensionManager::extension(QObject *object,
const QString &iid)
const
120 const auto it = m_extensions.constFind(iid);
121 if (it != m_extensions.constEnd()) {
122 for (
const auto &f : it.value()) {
123 if (QObject *ext = f->extension(object, iid))
128 for (
const auto &gf : m_globalExtension) {
129 if (QObject *ext = gf->extension(object, iid))