KIMAP2

acljobbase.h
1 /*
2  Copyright (c) 2009 Andras Mantia <[email protected]>
3 
4  This library is free software; you can redistribute it and/or modify it
5  under the terms of the GNU Library General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or (at your
7  option) any later version.
8 
9  This library is distributed in the hope that it will be useful, but WITHOUT
10  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12  License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to the
16  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  02110-1301, USA.
18 */
19 
20 #ifndef KIMAP2_ACLJOBBASE_H
21 #define KIMAP2_ACLJOBBASE_H
22 
23 #include "kimap2_export.h"
24 
25 #include "acl.h"
26 #include "job.h"
27 
28 namespace KIMAP2
29 {
30 
31 class Session;
32 struct Message;
33 class AclJobBasePrivate;
34 
35 /**
36  * Base class for jobs that operate on mailbox ACLs
37  *
38  * Provides support for the IMAP ACL extension, as defined by
39  * <a href="http://www.apps.ietf.org/rfc/rfc4314.html" title="IMAP ACL extension">RFC 4314</a>.
40  *
41  * This class cannot be used directly, you must subclass it and reimplement
42  * at least the doStart() method.
43 */
44 class KIMAP2_EXPORT AclJobBase : public Job
45 {
46  Q_OBJECT
47  Q_DECLARE_PRIVATE(AclJobBase)
48 
49  friend class SessionPrivate;
50 
51 public:
52  AclJobBase(Session *session);
53  virtual ~AclJobBase();
54 
55  /**
56  * Used when subclassing to specify how the ACL will be modified.
57  */
58  enum AclModifier {
59  Add = 0,
60  Remove,
61  Change
62  };
63 
64  /**
65  * Set the mailbox to act on
66  *
67  * @param mailBox the name of an existing mailbox
68  */
69  void setMailBox(const QString &mailBox);
70  /**
71  * The mailbox that will be acted upon.
72  */
73  QString mailBox() const;
74 
75 protected:
76  explicit AclJobBase(JobPrivate &dd);
77 
78 };
79 
80 }
81 
82 #endif
Base class for jobs that operate on mailbox ACLs.
Definition: acljobbase.h:44
AclModifier
Used when subclassing to specify how the ACL will be modified.
Definition: acljobbase.h:58
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Wed Aug 17 2022 04:16:25 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.