# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KUser< T > Class Template Reference

Represents a user on your system. More...

`#include <kuser.h>`

Collaboration diagram for KUser< T >:

[legend]
List of all members.

## Public Types

enum | UIDMode { UseEffectiveUID, UseRealUserID }

## Public Member Functions

| KUser (UIDMode mode=UseEffectiveUID)
| KUser (long uid)
| KUser (const QString &name)
| KUser (const char *name)
| KUser (struct passwd *p)
| KUser (const KUser &user)
KUser & | operator= (const KUser &user)
bool | operator== (const KUser &user) const
bool | operator!= (const KUser &user) const
bool | isValid () const
long | uid () const
long | gid () const
bool | isSuperUser () const
QString | loginName () const
QString | fullName () const
QString | roomNumber () const
QString | workPhone () const
QString | homePhone () const
QString | homeDir () const
QString | shell () const
QValueList< KUserGroup > | groups () const
QStringList | groupNames () const
| ~KUser ()

## Static Public Member Functions

static QValueList< KUser > | allUsers ()
static QStringList | allUserNames ()

## Detailed Description

### template<class T>
class KUser< T >

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 <tim@tjansen.de>

Since:
  3.2

Definition at line 45 of file kuser.h.

## Member Enumeration Documentation

template<class T>
enum KUser::UIDMode

Enumeration values:

  UseEffectiveUID | Use the effective user id.
  UseRealUserID | Use the real user id.

Definition at line 49 of file kuser.h.

## Constructor & Destructor Documentation

template<class T>
KUser< T >::KUser | ( | UIDMode | mode = `UseEffectiveUID` | ) |

Creates an object that contains information about the current user.

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

Parameters:

  | mode | if 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 68 of file kuser.cpp.

References KUser< T >::uid(), and KUser< T >::UseEffectiveUID.

Referenced by KUser< T >::allUsers().

template<class T>
KUser< T >::KUser | ( | long | uid | ) |

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

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

Parameters:

  | uid | the user id

Definition at line 82 of file kuser.cpp.

template<class T>
KUser< T >::KUser | ( | const QString & | name | ) |

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

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

Parameters:

  | name | the name of the user

Definition at line 86 of file kuser.cpp.

template<class T>
KUser< T >::KUser | ( | const char * | name | ) |

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

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

Parameters:

  | name | the name of the user

Definition at line 90 of file kuser.cpp.

template<class T>
KUser< T >::KUser | ( | struct passwd * | p | ) |

Creates an object from a passwd structure.

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

Parameters:

  | p | the passwd structure to create the user from

Definition at line 94 of file kuser.cpp.

template<class T>
KUser< T >::KUser | ( | const KUser< T > & | user | ) |

Creates an object from another KUser object.

Parameters:

  | user | the user to create the new object from

Definition at line 98 of file kuser.cpp.

template<class T>
KUser< T >::~KUser | ( |  | ) |

| Destructor. Definition at line 271 of file kuser.cpp.

## Member Function Documentation

template<class T>
KUser & KUser< T >::operator= | ( | const KUser< T > & | user | ) |

Copies a user.

Parameters:

  | user | the user to copy

Returns:
  this object

Definition at line 103 of file kuser.cpp.

template<class T>
bool KUser< T >::operator== | ( | const KUser< T > & | user | ) | const

| Two KUser objects are equal if isValid() is true and the uid() are identical. Definition at line 109 of file kuser.cpp. References KUser< T >::isValid(), and KUser< T >::uid(). Referenced by KUser< T >::operator!=().

template<class T>
bool KUser< T >::operator!= | ( | const KUser< T > & | user | ) | const

| Two KUser objects are not equal if either isValid() is not true or uid() are not identical. Definition at line 118 of file kuser.cpp. References KUser< T >::operator==().

template<class T>
bool KUser< T >::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 145 of file kuser.cpp.

Referenced by KUser< T >::operator==().

template<class T>
long KUser< T >::uid | ( |  | ) | const

Returns the user id of the user.

Returns:
  the id of the user or -1 if user is invalid

Definition at line 149 of file kuser.cpp.

Referenced by KUser< T >::isSuperUser(), KUser< T >::KUser(), and KUser< T >::operator==().

template<class T>
long KUser< T >::gid | ( |  | ) | const

Returns the group id of the user.

Returns:
  the id of the group or -1 if user is invalid

Definition at line 156 of file kuser.cpp.

Referenced by KUserGroup::KUserGroup().

template<class T>
bool KUser< T >::isSuperUser | ( |  | ) | const

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

Returns:
  true if the user is root

Definition at line 163 of file kuser.cpp.

References KUser< T >::uid().

template<class T>
QString KUser< T >::loginName | ( |  | ) | const

The login name of the user.

Returns:
  the login name of the user or QString::null if user is invalid

Definition at line 167 of file kuser.cpp.

Referenced by KStandardDirs::addCustomized().

template<class T>
QString KUser< T >::fullName | ( |  | ) | const

The full name of the user.

Returns:
  the full name of the user or QString::null if user is invalid

Definition at line 174 of file kuser.cpp.

template<class T>
QString KUser< T >::roomNumber | ( |  | ) | const

The user's room number.

Returns:
  the room number of the user or QString::null if not set or the user is invalid

Definition at line 181 of file kuser.cpp.

template<class T>
QString KUser< T >::workPhone | ( |  | ) | const

The user's work phone.

Returns:
  the work phone of the user or QString::null if not set or the user is invalid

Definition at line 188 of file kuser.cpp.

template<class T>
QString KUser< T >::homePhone | ( |  | ) | const

The user's home phone.

Returns:
  the home phone of the user or QString::null if not set or the user is invalid

Definition at line 195 of file kuser.cpp.

template<class T>
QString KUser< T >::homeDir | ( |  | ) | const

The path to the user's home directory.

Returns:
  the home directory of the user or QString::null if the user is invalid

Definition at line 202 of file kuser.cpp.

template<class T>
QString KUser< T >::shell | ( |  | ) | const

The path to the user's login shell.

Returns:
  the login shell of the user or QString::null if the user is invalid

Definition at line 209 of file kuser.cpp.

template<class T>
QValueList< KUserGroup > KUser< T >::groups | ( |  | ) | const

Returns all groups of the user.

Returns:
  all groups of the user

Definition at line 216 of file kuser.cpp.

References KUserGroup::allGroups(), QValueList::append(), QValueList::begin(), QValueList::end(), and QValueList::find().

template<class T>
QStringList KUser< T >::groupNames | ( |  | ) | const

Returns all group names of the user.

Returns:
  all group names of the user

Definition at line 229 of file kuser.cpp.

References KUserGroup::allGroups(), QValueList::begin(), QValueList::end(), and QValueList::find().

template<class T>
QValueList< KUser > KUser< T >::allUsers | ( |  | ) | `[static]`

Returns all users of the system.

Returns:
  all users of the system.

Definition at line 243 of file kuser.cpp.

References QValueList::append(), and KUser< T >::KUser().

template<class T>
QStringList KUser< T >::allUserNames | ( |  | ) | `[static]`

Returns all user names of the system.

Returns:
  all user names of the system.

Definition at line 257 of file kuser.cpp.

The documentation for this class was generated from the following files:

- kuser.h
- kuser.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:19:12 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003