File indexing completed on 2024-05-19 05:16:10

0001 /*
0002     SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <MailTransport/TransportAbstractPlugin>
0010 #include <QVariant>
0011 namespace Akonadi
0012 {
0013 class AgentType;
0014 }
0015 
0016 class AkonadiMailTransportPlugin : public MailTransport::TransportAbstractPlugin
0017 {
0018     Q_OBJECT
0019 public:
0020     explicit AkonadiMailTransportPlugin(QObject *parent = nullptr, const QList<QVariant> & = {});
0021     ~AkonadiMailTransportPlugin() override;
0022 
0023     [[nodiscard]] QList<MailTransport::TransportAbstractPluginInfo> names() const override;
0024     [[nodiscard]] bool configureTransport(const QString &identifier, MailTransport::Transport *transport, QWidget *parent) override;
0025 
0026     void cleanUp(MailTransport::Transport *t) override;
0027     MailTransport::TransportJob *createTransportJob(MailTransport::Transport *t, const QString &identifier) override;
0028     void initializeTransport(MailTransport::Transport *t, const QString &identifier) override;
0029 
0030 private:
0031     void slotUpdatePluginList(const Akonadi::AgentType &type);
0032 };