1 /*
2    SPDX-FileCopyrightText: 2017-2021 Laurent Montel <montel@kde.org>
3 
4    SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "ksieveui_export.h"
10 #include <QObject>
11 namespace KSieveUi
12 {
13 class SieveImapInstanceInterface;
14 class SieveImapInstance;
15 /**
16  * @brief The SieveImapInstanceInterfaceManager class
17  * @author Laurent Montel <montel@kde.org>
18  */
19 class KSIEVEUI_EXPORT SieveImapInstanceInterfaceManager : public QObject
20 {
21     Q_OBJECT
22 public:
23     explicit SieveImapInstanceInterfaceManager(QObject *parent = nullptr);
24     ~SieveImapInstanceInterfaceManager() override;
25     static SieveImapInstanceInterfaceManager *self();
26     void setSieveImapInstanceInterface(SieveImapInstanceInterface *interface);
27     SieveImapInstanceInterface *sieveImapInstanceInterface() const;
28     Q_REQUIRED_RESULT QVector<KSieveUi::SieveImapInstance> sieveImapInstanceList() const;
29 
30 private:
31     SieveImapInstanceInterface *mInterface = nullptr;
32 };
33 }
34 
35