KUser

#include <KUser>

Public Types

enum  UIDMode { UseEffectiveUID, UseRealUserID }
 
enum  UserProperty { FullName, RoomNumber, WorkPhone, HomePhone }
 

Public Member Functions

 KUser (UIDMode mode=UseEffectiveUID)
 
 KUser (K_UID uid)
 
 KUser (KUserId uid)
 
 KUser (const QString &name)
 
 KUser (const char *name)
 
 KUser (const passwd *p)
 
 KUser (const KUser &user)
 
 ~KUser ()
 
QString faceIconPath () const
 
QString fullName () const
 
K_GID gid () const
 
KGroupId groupId () const
 
QStringList groupNames (uint maxCount=KCOREADDONS_UINT_MAX) const
 
QList< KUserGroupgroups (uint maxCount=KCOREADDONS_UINT_MAX) const
 
QString homeDir () const
 
bool isSuperUser () const
 
bool isValid () const
 
QString loginName () const
 
bool operator!= (const KUser &user) const
 
KUseroperator= (const KUser &user)
 
bool operator== (const KUser &user) const
 
QVariant property (UserProperty which) const
 
QString shell () const
 
K_UID uid () const
 
KUserId userId () const
 

Static Public Member Functions

static QStringList allUserNames (uint maxCount=KCOREADDONS_UINT_MAX)
 
static QList< KUserallUsers (uint maxCount=KCOREADDONS_UINT_MAX)
 

Detailed Description

Represents a user on your system.

This class represents a user on your system. You can either get information about the current user, of fetch information about a user on the system. Instances of this class will be explicitly shared, so copying objects is very cheap and you can safely pass objects by value.

Author
Tim Jansen [email protected][email protected]jans[email protected]en.de

Definition at line 192 of file kuser.h.

Member Enumeration Documentation

Enumerator
UseEffectiveUID 

Use the effective user id.

UseRealUserID 

Use the real user id.

Definition at line 197 of file kuser.h.

Constructor & Destructor Documentation

KUser::KUser ( UIDMode  mode = UseEffectiveUID)
explicit

Creates an object that contains information about the current user.

(as returned by getuid(2) or geteuid(2), taking $LOGNAME/$USER into account).

Parameters
modeif UseEffectiveUID is passed the effective user is returned. If UseRealUserID is passed the real user will be returned. The real UID will be different than the effective UID in setuid programs; in such a case use the effective UID for checking permissions, and the real UID for displaying information about the user.

Definition at line 86 of file kuser_unix.cpp.

KUser::KUser ( K_UID  uid)
explicit

Creates an object for the user with the given user id.

If the user does not exist isValid() will return false.

Parameters
uidthe user id

Definition at line 102 of file kuser_unix.cpp.

KUser::KUser ( KUserId  uid)
explicit

Creates an object for the user with the given user id.

If the KUserId object is invalid this one will be, too.

Parameters
uidthe user id

Definition at line 107 of file kuser_unix.cpp.

KUser::KUser ( const QString name)
explicit

Creates an object that contains information about the user with the given name.

If the user does not exist isValid() will return false.

Parameters
namethe name of the user

Definition at line 112 of file kuser_unix.cpp.

KUser::KUser ( const char *  name)
explicit

Creates an object that contains information about the user with the given name.

If the user does not exist isValid() will return false.

Parameters
namethe name of the user

Definition at line 117 of file kuser_unix.cpp.

KUser::KUser ( const passwd *  p)
explicit

Creates an object from a passwd structure.

If the pointer is null isValid() will return false.

Parameters
pthe passwd structure to create the user from

Definition at line 122 of file kuser_unix.cpp.

KUser::KUser ( const KUser user)

Creates an object from another KUser object.

Parameters
userthe user to create the new object from

Definition at line 127 of file kuser_unix.cpp.

KUser::~KUser ( )

Destructor.

Definition at line 323 of file kuser_unix.cpp.

Member Function Documentation

QStringList KUser::allUserNames ( uint  maxCount = KCOREADDONS_UINT_MAX)
static
Parameters
maxCountthe maximum number of users to return
Returns
all user names of the system.

Definition at line 308 of file kuser_unix.cpp.

QList< KUser > KUser::allUsers ( uint  maxCount = KCOREADDONS_UINT_MAX)
static
Parameters
maxCountthe maximum number of users to return
Returns
all users of the system.

Definition at line 292 of file kuser_unix.cpp.

QString KUser::faceIconPath ( ) const

The path to the user's face file.

Returns
the path to the user's face file or QString() if no face has been set

Definition at line 173 of file kuser_unix.cpp.

QString KUser::fullName ( ) const
inline

The full name of the user.

Returns
the full name of the user or QString() if user is invalid
Deprecated:
Since 5.0, use property(KUser::FullName) instead

Definition at line 327 of file kuser.h.

K_GID KUser::gid ( ) const
inline

Returns the group id of the user.

Returns
the id of the group or -1 if user is invalid
Deprecated:
since 5.0 use KUser::groupId()

Definition at line 302 of file kuser.h.

KGroupId KUser::groupId ( ) const
Returns
the native user id of the user.

Definition at line 153 of file kuser_unix.cpp.

QStringList KUser::groupNames ( uint  maxCount = KCOREADDONS_UINT_MAX) const
Parameters
maxCountthe maximum number of groups to return
Returns
all group names of the user

Definition at line 275 of file kuser_unix.cpp.

QList< KUserGroup > KUser::groups ( uint  maxCount = KCOREADDONS_UINT_MAX) const
Parameters
maxCountthe maximum number of groups to return
Returns
all groups of the user

Definition at line 263 of file kuser_unix.cpp.

QString KUser::homeDir ( ) const

The path to the user's home directory.

Returns
the home directory of the user or QString() if the user is invalid

Definition at line 168 of file kuser_unix.cpp.

bool KUser::isSuperUser ( ) const

Checks whether the user is the super user (root).

Returns
true if the user is root

Definition at line 158 of file kuser_unix.cpp.

bool KUser::isValid ( ) const

Returns true if the user is valid.

A KUser object can be invalid if you created it with an non-existing uid or name.

Returns
true if the user is valid

Definition at line 143 of file kuser_unix.cpp.

QString KUser::loginName ( ) const

The login name of the user.

Returns
the login name of the user or QString() if user is invalid

Definition at line 163 of file kuser_unix.cpp.

bool KUser::operator!= ( const KUser user) const
inline

Two KUser objects are not equal if userId() are not identical.

Invalid users always compare unequal.

Definition at line 621 of file kuser.h.

KUser & KUser::operator= ( const KUser user)

Copies a user.

Parameters
userthe user to copy
Returns
this object

Definition at line 132 of file kuser_unix.cpp.

bool KUser::operator== ( const KUser user) const

Two KUser objects are equal if the userId() are identical.

Invalid users never compare equal.

Definition at line 138 of file kuser_unix.cpp.

QVariant KUser::property ( UserProperty  which) const

Returns an extended property.

Under Windows, RoomNumber, WorkPhone and HomePhone are unsupported.

Returns
a QVariant with the value of the property or an invalid QVariant, if the property is not set

Definition at line 287 of file kuser_unix.cpp.

QString KUser::shell ( ) const

The path to the user's login shell.

Returns
the login shell of the user or QString() if the user is invalid

Definition at line 193 of file kuser_unix.cpp.

K_UID KUser::uid ( ) const
inline

Returns the user id of the user.

Returns
the id of the user or -1 (UNIX)/ null(Windows) if user is invalid
Deprecated:
since 5.0 use KUser::userId()

Definition at line 337 of file kuser.h.

KUserId KUser::userId ( ) const
Returns
the native user id of the user.

Definition at line 148 of file kuser_unix.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Thu Dec 3 2020 23:03:07 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.