KIMAP::SetAclJob

Search for usage in LXR

#include <setacljob.h>

Inheritance diagram for KIMAP::SetAclJob:

Public Member Functions

 SetAclJob (Session *session)
 
QByteArray identifier ()
 
void setIdentifier (const QByteArray &identifier)
 
void setRights (AclModifier modifier, Acl::Rights rights)
 
- Public Member Functions inherited from KIMAP::AclJobBase
 AclJobBase (Session *session)
 
QString mailBox () const
 
void setMailBox (const QString &mailBox)
 

Protected Member Functions

void doStart () override
 
- Protected Member Functions inherited from KIMAP::AclJobBase
 AclJobBase (JobPrivate &dd)
 

Additional Inherited Members

- Public Types inherited from KIMAP::AclJobBase
enum  AclModifier { Add = 0 , Remove , Change }
 

Detailed Description

Sets the rights that correspond to an identifier on a mailbox.

This job can only be run when the session is in the authenticated (or selected) state.

This job requires that the server supports the ACL capability, defined in RFC 4314.

Definition at line 29 of file setacljob.h.

Constructor & Destructor Documentation

◆ SetAclJob()

SetAclJob::SetAclJob ( Session * session)
explicit

Definition at line 33 of file setacljob.cpp.

◆ ~SetAclJob()

SetAclJob::~SetAclJob ( )
override

Definition at line 38 of file setacljob.cpp.

Member Function Documentation

◆ doStart()

void SetAclJob::doStart ( )
overrideprotected

Definition at line 42 of file setacljob.cpp.

◆ identifier()

QByteArray SetAclJob::identifier ( )
nodiscard

The identifier that rights will be associated with.

Definition at line 66 of file setacljob.cpp.

◆ setIdentifier()

void SetAclJob::setIdentifier ( const QByteArray & identifier)

Sets the identifier the rights will be modified for.

The meaning of identifiers depends on the server implementation, with the following restrictions:

  • "anyone" means any authenticated user, including anonymous
  • an identifier starting with a minus sign ('-') indicates "negative rights": rights that should be taken away from matching users

Other than the above restrictions, ACL identifiers are usually IMAP usernames, but could potentially be group names as well.

Note that negative rights override positive rights: if "fred" and "-fred" are both assigned the 'w' right, the user "fred" will not have the 'w' right.

Parameters
identifierthe identifier to set

Definition at line 60 of file setacljob.cpp.

◆ setRights()

void SetAclJob::setRights ( AclModifier modifier,
Acl::Rights rights )

Sets the rights that will be changed for the identifier.

Note that multiple calls to this method will have a non-intuitive effect: the modifier value of the most recent call will be used, but the OR'd-together values of all calls to setRights() will be used.

If the server does not recognise any of the rights, the job will fail and the ACL for the mailbox will remain unchanged.

Note that some rights may be tied together, and must be set or removed as a group. See ListRightsJob::possibleRights() for more details. The server will only set a tied group of rights if you have requested that all the rights in that group should be set.

Parameters
modifierdetermines whether the rights will be added to the identifier, removed from the identifier or will replace any existing rights assigned to the identifier
rightsthe rights to be added, removed or set

Definition at line 54 of file setacljob.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:01:17 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.