File indexing completed on 2024-05-12 03:54:57
0001 /* 0002 SPDX-FileCopyrightText: 2021-2023 Alexander Lohnau <alexander.lohnau@gmx.de> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include "kcoreaddons_export.h" 0007 #include "kstaticpluginhelpers_p.h" 0008 0009 typedef QHash<QString, QMap<QString, QStaticPlugin>> StaticPluginMap; 0010 Q_GLOBAL_STATIC(StaticPluginMap, s_staticPlugins) 0011 0012 QMap<QString, QStaticPlugin> KStaticPluginHelpers::staticPlugins(const QString &directory) 0013 { 0014 return s_staticPlugins->value(directory); 0015 } 0016 0017 std::optional<QStaticPlugin> KStaticPluginHelpers::findById(const QString &directory, const QString &pluginId) 0018 { 0019 const auto staticPlugins = s_staticPlugins->value(directory); 0020 const auto it = staticPlugins.constFind(pluginId); 0021 return it == staticPlugins.end() ? std::nullopt : std::optional(it.value()); 0022 } 0023 0024 // Used in autogenerated code, see kcoreaddons_target_static_plugins 0025 KCOREADDONS_EXPORT void kRegisterStaticPluginFunction(const QString &pluginId, const QString &directory, QStaticPlugin plugin) 0026 { 0027 (*s_staticPlugins)[directory].insert(pluginId, plugin); 0028 }