KIMAP

getquotajob.h
1 /*
2  SPDX-FileCopyrightText: 2009 Andras Mantia <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "quotajobbase.h"
10 
11 namespace KIMAP
12 {
13 class Session;
14 struct Message;
15 class GetQuotaJobPrivate;
16 
17 /**
18  * Gets resource limits for a quota root.
19  *
20  * Quotas are defined with respect to "resources" and "quota roots".
21  * A resource is a numerical property that can be limited, such
22  * as the octet size of all the messages in a mailbox, or the
23  * number of messages in a mailbox. Each mailbox has one or more
24  * quota roots, which are where the resource limits are defined.
25  * A quota root may or may not be a mailbox name, and an empty
26  * string is a valid quota root. All mailboxes with the same quota
27  * root share the resource limits of the quota root.
28  *
29  * This job can only be run when the session is in the
30  * authenticated (or selected) state.
31  *
32  * This job requires that the server supports the QUOTA
33  * capability, defined in
34  * <a href="https://tools.ietf.org/html/rfc2087">RFC 2087</a>.
35  */
36 class KIMAP_EXPORT GetQuotaJob : public QuotaJobBase
37 {
38  Q_OBJECT
39  Q_DECLARE_PRIVATE(GetQuotaJob)
40 
41  friend class SessionPrivate;
42 
43 public:
44  explicit GetQuotaJob(Session *session);
45  ~GetQuotaJob() override;
46 
47  /**
48  * Set the quota root to get the resource limits for.
49  * @param root the quota root to set
50  * @see GetQuotaRootJob
51  */
52  void setRoot(const QByteArray &root);
53  /**
54  * The quota root that resource limit information will be fetched for.
55  */
56  [[nodiscard]] QByteArray root() const;
57 
58 protected:
59  void doStart() override;
60  void handleResponse(const Response &response) override;
61 };
62 
63 }
Base class for jobs that operate on mailbox quotas.
Definition: quotajobbase.h:28
Gets resource limits for a quota root.
Definition: getquotajob.h:36
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Dec 3 2023 03:51:44 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.