File indexing completed on 2024-05-12 05:17:12
0001 /* 0002 SPDX-FileCopyrightText: 2009 Andras Mantia <amantia@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 "acljobbase.h" 0012 0013 namespace KIMAP 0014 { 0015 class Session; 0016 struct Response; 0017 class DeleteAclJobPrivate; 0018 0019 /** 0020 * Removes an identifier from the ACL of a mailbox. 0021 * 0022 * This job can only be run when the session is in the 0023 * authenticated (or selected) state. 0024 * 0025 * The user must have the Acl::Admin permission 0026 * on the mailbox for this job to succeed (see 0027 * MyRightsJob). 0028 * 0029 * This job requires that the server supports the ACL 0030 * capability, defined in 0031 * <a href="https://tools.ietf.org/html/rfc4314">RFC 4314</a>. 0032 */ 0033 class KIMAP_EXPORT DeleteAclJob : public AclJobBase 0034 { 0035 Q_OBJECT 0036 Q_DECLARE_PRIVATE(DeleteAclJob) 0037 0038 friend class SessionPrivate; 0039 0040 public: 0041 explicit DeleteAclJob(Session *session); 0042 ~DeleteAclJob() override; 0043 0044 /** 0045 * Sets the identifier to remove 0046 */ 0047 void setIdentifier(const QByteArray &identifier); 0048 /** 0049 * The identifier that will be removed 0050 */ 0051 [[nodiscard]] QByteArray identifier(); 0052 0053 protected: 0054 void doStart() override; 0055 }; 0056 0057 }