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