KIMAP

acljobbase.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 "kimap_export.h"
10 
11 #include "acl.h"
12 #include "job.h"
13 
14 namespace KIMAP
15 {
16 class Session;
17 struct Response;
18 class AclJobBasePrivate;
19 
20 /**
21  * Base class for jobs that operate on mailbox ACLs
22  *
23  * Provides support for the IMAP ACL extension, as defined by
24  * <a href="https://tools.ietf.org/html/rfc4314" title="IMAP ACL extension">RFC 4314</a>.
25  *
26  * This class cannot be used directly, you must subclass it and reimplement
27  * at least the doStart() method.
28  */
29 class KIMAP_EXPORT AclJobBase : public Job
30 {
31  Q_OBJECT
32  Q_DECLARE_PRIVATE(AclJobBase)
33 
34  friend class SessionPrivate;
35 
36 public:
37  AclJobBase(Session *session);
38  ~AclJobBase() override;
39 
40  /**
41  * Used when subclassing to specify how the ACL will be modified.
42  */
43  enum AclModifier { Add = 0, Remove, Change };
44 
45  /**
46  * Set the mailbox to act on
47  *
48  * @param mailBox the name of an existing mailbox
49  */
50  void setMailBox(const QString &mailBox);
51  /**
52  * The mailbox that will be acted upon.
53  */
54  [[nodiscard]] QString mailBox() const;
55 
56 protected:
57  explicit AclJobBase(JobPrivate &dd);
58 };
59 
60 }
AclModifier
Used when subclassing to specify how the ACL will be modified.
Definition: acljobbase.h:43
Base class for jobs that operate on mailbox ACLs.
Definition: acljobbase.h:29
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.