KACL Class Reference

#include <kacl.h>

List of all members.


Detailed Description

The KCAL class encapsulates a POSIX Access Control List.a POSIX ACL encapsulation.

It follows the little standard that couldn't, 1003.1e/1003.2c, which died in draft status.

Author:
Till Adam <adam@kde.org>

Definition at line 42 of file kacl.h.


Public Member Functions

 KACL (const QString &aclString)
 KACL (const KACL &rhs)
 KACL (mode_t basicPermissions)
 KACL ()
virtual ~KACL ()
KACLoperator= (const KACL &rhs)
bool operator== (const KACL &rhs) const
bool operator!= (const KACL &rhs) const
bool isValid () const
unsigned short ownerPermissions () const
bool setOwnerPermissions (unsigned short)
unsigned short owningGroupPermissions () const
bool setOwningGroupPermissions (unsigned short)
unsigned short othersPermissions () const
bool setOthersPermissions (unsigned short)
mode_t basePermissions () const
bool isExtended () const
unsigned short maskPermissions (bool &exists) const
bool setMaskPermissions (unsigned short)
unsigned short namedUserPermissions (const QString &name, bool *exists) const
bool setNamedUserPermissions (const QString &name, unsigned short)
ACLUserPermissionsList allUserPermissions () const
bool setAllUserPermissions (const ACLUserPermissionsList &list)
unsigned short namedGroupPermissions (const QString &name, bool *exists) const
bool setNamedGroupPermissions (const QString &name, unsigned short)
ACLGroupPermissionsList allGroupPermissions () const
bool setAllGroupPermissions (const ACLGroupPermissionsList &)
bool setACL (const QString &aclStr)
QString asString () const

Protected Member Functions

virtual void virtual_hook (int id, void *data)

Friends

KIO_EXPORT friend QDataStreamoperator<< (QDataStream &s, const KACL &a)
KIO_EXPORT friend QDataStreamoperator>> (QDataStream &s, KACL &a)

Constructor & Destructor Documentation

KACL::KACL ( const QString aclString  ) 

Creates a new KACL from aclString.

If the string is a valid acl string, isValid() will afterwards return true.

Definition at line 76 of file kacl.cpp.

KACL::KACL ( const KACL rhs  ) 

Copy ctor.

Definition at line 99 of file kacl.cpp.

KACL::KACL ( mode_t  basicPermissions  ) 

Creates a new KACL from the basic permissions passed in basicPermissions.

isValid() will return true, afterwards.

Definition at line 82 of file kacl.cpp.

KACL::KACL (  ) 

Creates an empty KACL.

Until a valid acl string is set via setACL, isValid() will return false.

Definition at line 94 of file kacl.cpp.


Member Function Documentation

bool KACL::isValid (  )  const

Returns whether the KACL object represents a valid acl.

Returns:
whether the KACL object represents a valid acl.

Definition at line 119 of file kacl.cpp.

unsigned short KACL::ownerPermissions (  )  const

Returns:
the owner's premissions entry

Definition at line 200 of file kacl.cpp.

bool KACL::setOwnerPermissions ( unsigned  short  ) 

Set the owner's permissions entry.

Returns:
success or failure

Definition at line 209 of file kacl.cpp.

unsigned short KACL::owningGroupPermissions (  )  const

Returns:
the owning group's premissions entry

Definition at line 219 of file kacl.cpp.

bool KACL::setOwningGroupPermissions ( unsigned  short  ) 

Set the owning group's permissions entry.

Returns:
success or failure

Definition at line 228 of file kacl.cpp.

unsigned short KACL::othersPermissions (  )  const

Returns:
the premissions entry for others

Definition at line 238 of file kacl.cpp.

bool KACL::setOthersPermissions ( unsigned  short  ) 

Set the permissions entry for others.

Returns:
success or failure

Definition at line 247 of file kacl.cpp.

mode_t KACL::basePermissions (  )  const

Returns:
the basic (owner/group/others) part of the ACL as a mode_t

Definition at line 257 of file kacl.cpp.

bool KACL::isExtended (  )  const

Return whether the ACL contains extended entries or can be expressed using only basic file permissions.

Returns:
whether the ACL contains extended entries

Definition at line 130 of file kacl.cpp.

unsigned short KACL::maskPermissions ( bool &  exists  )  const

Return the entry for the permissions mask if there is one and sets exists to true.

If there is no such entry, exists is set to false.

Returns:
the permissions mask entry

Definition at line 274 of file kacl.cpp.

bool KACL::setMaskPermissions ( unsigned  short  ) 

Set the permissions mask for the ACL.

Permissions set for individual entries will be masked with this, such that their effective permissions are the result of the logical and of their entry and the mask.

Returns:
success or failure

Definition at line 302 of file kacl.cpp.

unsigned short KACL::namedUserPermissions ( const QString name,
bool *  exists 
) const

Access to the permissions entry for a named user, if such an entry exists.

exists is set to true if a matching entry exists and to false otherwise.

Returns:
the permissions for a user entry with the name in name

Definition at line 315 of file kacl.cpp.

bool KACL::setNamedUserPermissions ( const QString name,
unsigned  short 
)

Set the permissions for a user with the name name.

Will fail if the user doesn't exist, in which case the ACL will be unchanged.

Returns:
success or failure.

Definition at line 397 of file kacl.cpp.

ACLUserPermissionsList KACL::allUserPermissions (  )  const

Returns the list of all group permission entries.

Each entry consists of a name/permissions pair. This is a QPair, therefore access is provided via the .first and .next members.

Returns:
the list of all group permission entries.

Definition at line 408 of file kacl.cpp.

bool KACL::setAllUserPermissions ( const ACLUserPermissionsList list  ) 

Replace the list of all user permissions with list.

If one of the entries in the list does not exists, or setting of the ACL entry fails for any reason, the ACL will be left unchanged.

Returns:
success or failure

Definition at line 494 of file kacl.cpp.

unsigned short KACL::namedGroupPermissions ( const QString name,
bool *  exists 
) const

Access to the permissions entry for a named group, if such an entry exists.

exists is set to true if a matching entry exists and to false otherwise.

Returns:
the permissions for a group with the name in name

Definition at line 509 of file kacl.cpp.

bool KACL::setNamedGroupPermissions ( const QString name,
unsigned  short 
)

Set the permissions for a group with the name name.

Will fail if the group doesn't exist, in which case the ACL be unchanged.

Returns:
success or failure.

Definition at line 534 of file kacl.cpp.

ACLGroupPermissionsList KACL::allGroupPermissions (  )  const

Returns the list of all group permission entries.

Each entry consists of a name/permissions pair. This is a QPair, therefor access is provided via the .first and .next members.

Returns:
the list of all group permission entries.

Definition at line 546 of file kacl.cpp.

bool KACL::setAllGroupPermissions ( const ACLGroupPermissionsList  ) 

Replace the list of all user permissions with list.

If one of the entries in the list does not exists, or setting of the ACL entry fails for any reason, the ACL will be left unchanged.

Returns:
success or failure

Definition at line 569 of file kacl.cpp.

bool KACL::setACL ( const QString aclStr  ) 

Sets the whole list from a string.

If the string in aclStr represents a valid ACL, it will be set, otherwise the ACL remains unchanged.

Returns:
whether setting the ACL was successful.

Definition at line 583 of file kacl.cpp.

QString KACL::asString (  )  const

Return a string representation of the ACL.

Returns:
a string version of the ACL in the format compatible with libacl and POSIX 1003.1e. Implementations conforming to that standard should be able to take such strings as input.

Definition at line 606 of file kacl.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys