File indexing completed on 2024-05-12 05:17:15

0001 /*
0002     SPDX-FileCopyrightText: 2009 Kevin Ottens <ervin@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "kimap_export.h"
0010 
0011 #include "job.h"
0012 
0013 namespace KIMAP
0014 {
0015 class Session;
0016 struct Response;
0017 struct MailBoxDescriptor;
0018 class NamespaceJobPrivate;
0019 
0020 class KIMAP_EXPORT NamespaceJob : public Job
0021 {
0022     Q_OBJECT
0023     Q_DECLARE_PRIVATE(NamespaceJob)
0024 
0025     friend class SessionPrivate;
0026 
0027 public:
0028     NamespaceJob(Session *session);
0029     ~NamespaceJob() override;
0030 
0031     [[nodiscard]] QList<MailBoxDescriptor> personalNamespaces() const;
0032     [[nodiscard]] QList<MailBoxDescriptor> userNamespaces() const;
0033     [[nodiscard]] QList<MailBoxDescriptor> sharedNamespaces() const;
0034 
0035     [[nodiscard]] bool containsEmptyNamespace() const;
0036 
0037 protected:
0038     void doStart() override;
0039     void handleResponse(const Response &response) override;
0040 };
0041 
0042 }