File indexing completed on 2025-01-05 04:58:21

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 "pimcommonakonadi_export.h"
0010 #include <QObject>
0011 #include <memory>
0012 
0013 namespace PimCommon
0014 {
0015 class AddressessLineEditAbstractPlugin;
0016 class AddressessLineEditPluginManagerPrivate;
0017 /**
0018  * @brief The AddressessLineEditPluginManager class
0019  * @author Laurent Montel <montel@kde.org>
0020  */
0021 class PIMCOMMONAKONADI_EXPORT AddressessLineEditPluginManager : public QObject
0022 {
0023     Q_OBJECT
0024 public:
0025     explicit AddressessLineEditPluginManager(QObject *parent = nullptr);
0026     ~AddressessLineEditPluginManager() override;
0027 
0028     static AddressessLineEditPluginManager *self();
0029 
0030     PimCommon::AddressessLineEditAbstractPlugin *plugin(const QString &identifier);
0031     QList<PimCommon::AddressessLineEditAbstractPlugin *> pluginsList() const;
0032 
0033 private:
0034     std::unique_ptr<AddressessLineEditPluginManagerPrivate> const d;
0035 };
0036 }