kio
kacl.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __kacl_h__
00021 #define __kacl_h__
00022
00023 #include <sys/types.h>
00024 #include <kio/global.h>
00025
00026 typedef QPair<QString, unsigned short> ACLUserPermissions;
00027 typedef QValueList<ACLUserPermissions> ACLUserPermissionsList;
00028 typedef QValueListIterator<ACLUserPermissions> ACLUserPermissionsIterator;
00029 typedef QValueListConstIterator<ACLUserPermissions> ACLUserPermissionsConstIterator;
00030
00031 typedef QPair<QString, unsigned short> ACLGroupPermissions;
00032 typedef QValueList<ACLGroupPermissions> ACLGroupPermissionsList;
00033 typedef QValueListIterator<ACLGroupPermissions> ACLGroupPermissionsIterator;
00034 typedef QValueListConstIterator<ACLGroupPermissions> ACLGroupPermissionsConstIterator;
00035
00042 class KIO_EXPORT KACL
00043 {
00044 public:
00049 KACL( const QString & aclString );
00050
00052 KACL( const KACL& rhs );
00053
00058 KACL( mode_t basicPermissions );
00059
00064 KACL();
00065
00066 virtual ~KACL();
00067
00068 KACL& operator=( const KACL& rhs ) {
00069 if ( this != &rhs )
00070 setACL( rhs.asString() );
00071 return *this;
00072 }
00073
00074 bool operator==( const KACL& rhs ) const;
00075
00076 bool operator!=( const KACL& rhs ) const {
00077 return !operator==( rhs );
00078 }
00079
00084 bool isValid() const;
00085
00091 unsigned short ownerPermissions() const;
00092
00095 bool setOwnerPermissions( unsigned short );
00096
00098 unsigned short owningGroupPermissions() const;
00099
00102 bool setOwningGroupPermissions( unsigned short );
00103
00105 unsigned short othersPermissions() const;
00106
00109 bool setOthersPermissions( unsigned short );
00110
00112 mode_t basePermissions() const;
00113
00121 bool isExtended() const;
00122
00127 unsigned short maskPermissions( bool &exists ) const;
00128
00133 bool setMaskPermissions( unsigned short );
00134
00140 unsigned short namedUserPermissions( const QString& name, bool *exists ) const;
00141
00142
00146 bool setNamedUserPermissions( const QString& name, unsigned short );
00147
00152 ACLUserPermissionsList allUserPermissions() const;
00153
00158 bool setAllUserPermissions( const ACLUserPermissionsList &list );
00159
00165 unsigned short namedGroupPermissions( const QString& name, bool *exists ) const;
00166
00170 bool setNamedGroupPermissions( const QString& name, unsigned short );
00171
00177 ACLGroupPermissionsList allGroupPermissions() const;
00182 bool setAllGroupPermissions( const ACLGroupPermissionsList & );
00183
00187 bool setACL( const QString &aclStr );
00188
00193 QString asString() const;
00194
00195 protected:
00196 virtual void virtual_hook( int id, void* data );
00197 private:
00198 class KACLPrivate;
00199 KACLPrivate * d;
00200 KIO_EXPORT friend QDataStream & operator<< ( QDataStream & s, const KACL & a );
00201 KIO_EXPORT friend QDataStream & operator>> ( QDataStream & s, KACL & a );
00202 };
00203
00204 KIO_EXPORT QDataStream & operator<< ( QDataStream & s, const KACL & a );
00205 KIO_EXPORT QDataStream & operator>> ( QDataStream & s, KACL & a );
00206
00207 #endif