File indexing completed on 2025-03-09 04:53:02

0001 /*
0002    SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "sieveimapinstanceinterfacemanager.h"
0008 #include "libksievecore_debug.h"
0009 #include <KSieveCore/SieveImapInstance>
0010 #include <KSieveCore/SieveImapInstanceInterface>
0011 
0012 using namespace KSieveCore;
0013 
0014 SieveImapInstanceInterfaceManager::SieveImapInstanceInterfaceManager(QObject *parent)
0015     : QObject(parent)
0016 {
0017 }
0018 
0019 SieveImapInstanceInterfaceManager::~SieveImapInstanceInterfaceManager()
0020 {
0021     delete mInterface;
0022 }
0023 
0024 SieveImapInstanceInterfaceManager *SieveImapInstanceInterfaceManager::self()
0025 {
0026     static SieveImapInstanceInterfaceManager s_self;
0027     return &s_self;
0028 }
0029 
0030 void SieveImapInstanceInterfaceManager::setSieveImapInstanceInterface(SieveImapInstanceInterface *interface)
0031 {
0032     mInterface = interface;
0033 }
0034 
0035 SieveImapInstanceInterface *SieveImapInstanceInterfaceManager::sieveImapInstanceInterface() const
0036 {
0037     return mInterface;
0038 }
0039 
0040 QList<KSieveCore::SieveImapInstance> SieveImapInstanceInterfaceManager::sieveImapInstanceList() const
0041 {
0042     if (mInterface) {
0043         return mInterface->sieveImapInstances();
0044     } else {
0045         qCWarning(LIBKSIEVECORE_LOG) << " mInterface not defined";
0046         return {};
0047     }
0048 }
0049 
0050 #include "moc_sieveimapinstanceinterfacemanager.cpp"