File indexing completed on 2025-03-09 04:54:36
0001 /* 0002 SPDX-FileCopyrightText: 2017 Sandro Knauß <sknauss@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QByteArray> 0010 #include <QHash> 0011 #include <QString> 0012 0013 #include <vector> 0014 0015 namespace MessageViewer 0016 { 0017 class MessagePartRendererBase; 0018 0019 struct RendererInfo { 0020 QSharedPointer<MessagePartRendererBase> renderer; 0021 QString mimeType; 0022 int priority; 0023 }; 0024 0025 class MessagePartRendererFactoryPrivate 0026 { 0027 public: 0028 ~MessagePartRendererFactoryPrivate(); 0029 void setup(); 0030 void loadPlugins(); 0031 void initialize_builtin_renderers(); 0032 void insert(const QByteArray &type, MessagePartRendererBase *formatter, const QString &mimeType = QString(), int priority = 0); 0033 0034 QHash<QByteArray, std::vector<RendererInfo>> m_renderers; 0035 QString m_pluginSubdir = QStringLiteral("pim6/messageviewer/bodypartformatter"); 0036 }; 0037 }