File indexing completed on 2025-02-16 04:50:20

0001 /*
0002     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
0003     SPDX-FileContributor: Kevin Ottens <kevin@kdab.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <Akonadi/Collection>
0011 
0012 #include "resourcetask.h"
0013 
0014 class RetrieveCollectionsTask : public ResourceTask
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     explicit RetrieveCollectionsTask(const ResourceStateInterface::Ptr &resource, QObject *parent = nullptr);
0020     ~RetrieveCollectionsTask() override;
0021 
0022 private Q_SLOTS:
0023     void onMailBoxesReceived(const QList<KIMAP::MailBoxDescriptor> &descriptors, const QList<QList<QByteArray>> &flags);
0024     void onMailBoxesReceiveDone(KJob *job);
0025     void onFullMailBoxesReceived(const QList<KIMAP::MailBoxDescriptor> &descriptors, const QList<QList<QByteArray>> &flags);
0026     void onFullMailBoxesReceiveDone(KJob *job);
0027 
0028 protected:
0029     void doStart(KIMAP::Session *session) override;
0030 
0031 protected:
0032     QHash<QString, Akonadi::Collection> m_reportedCollections;
0033     QHash<QString, Akonadi::Collection> m_dummyCollections;
0034     QSet<QString> m_fullReportedCollections;
0035 };