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 }