MailTransport

transportpluginmanager.h
1 /*
2  SPDX-FileCopyrightText: 2017-2023 Laurent Montel <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "kmailtransport_private_export.h"
10 #include <QObject>
11 
12 #include <memory>
13 
14 namespace MailTransport
15 {
16 class TransportAbstractPlugin;
17 class TransportPluginManagerPrivate;
18 class KMAILTRANSPORT_TESTS_EXPORT TransportPluginManager : public QObject
19 {
20  Q_OBJECT
21 public:
22  explicit TransportPluginManager(QObject *parent = nullptr);
23  ~TransportPluginManager() override;
24 
25  static TransportPluginManager *self();
26 
27  Q_REQUIRED_RESULT MailTransport::TransportAbstractPlugin *plugin(const QString &identifier);
28  Q_REQUIRED_RESULT QVector<MailTransport::TransportAbstractPlugin *> pluginsList() const;
29 
30 Q_SIGNALS:
31  void updatePluginList();
32 
33 private:
34  std::unique_ptr<TransportPluginManagerPrivate> const d;
35 };
36 }
The TransportAbstractPlugin class.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Mar 23 2023 04:19:12 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.