diff options
Diffstat (limited to 'src/tools/windeployqt/qtplugininfo.h')
-rw-r--r-- | src/tools/windeployqt/qtplugininfo.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/tools/windeployqt/qtplugininfo.h b/src/tools/windeployqt/qtplugininfo.h new file mode 100644 index 0000000000..420b2b5e1a --- /dev/null +++ b/src/tools/windeployqt/qtplugininfo.h @@ -0,0 +1,48 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#ifndef QTPLUGININFO_H +#define QTPLUGININFO_H + +#include "utils.h" + +#include <QString> +#include <QStringList> + +#include <unordered_map> + +enum class PluginDetection +{ + DebugOnly, + ReleaseOnly, + DebugAndRelease +}; + +struct PluginSelections +{ + QStringList disabledPluginTypes; + QStringList enabledPluginTypes; + QStringList excludedPlugins; + QStringList includedPlugins; + bool includeSoftPlugins = false; +}; + +class PluginInformation +{ +public: + PluginInformation() = default; + + bool isTypeForPlugin(const QString &type, const QString &plugin) const; + + void generateAvailablePlugins(const QMap<QString, QString> &qtPathsVariables, + const Platform &platform); + void populatePluginToType(const QDir &pluginDir, const QStringList &plugins); + + const std::unordered_map<QString, QStringList> &typeMap() const { return m_typeMap; } + +private: + std::unordered_map<QString, QStringList> m_typeMap; + std::unordered_map<QString, QString> m_pluginMap; +}; + +#endif |