00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef KUSER_H
00024
#define KUSER_H
00025
00026
#include "ksharedptr.h"
00027
00028
class QString;
00029
00030
class KUserPrivate;
00031
struct passwd;
00032
00044 class KUser {
00045
00046
public:
00047
00048 enum UIDMode {
00049
UseEffectiveUID,
00050
UseRealUserID
00051 };
00052
00063
KUser(UIDMode mode = UseEffectiveUID);
00064
00070
KUser(
long uid);
00071
00078
KUser(
const QString& name);
00079
00086
KUser(
const char *name);
00087
00094
KUser(
struct passwd *p);
00095
00100
bool operator ==(
const KUser& user)
const;
00101
00106
bool operator !=(
const KUser &user)
const;
00107
00113
bool isValid() const;
00114
00119
long uid() const;
00120
00121
00126
long gid() const;
00127
00132
bool isSuperUser() const;
00133
00138
QString loginName() const;
00139
00144
QString fullName() const;
00145
00151
QString roomNumber() const;
00152
00158
QString workPhone() const;
00159
00165
QString homePhone() const;
00166
00172
QString homeDir() const;
00173
00179
QString shell() const;
00180
00184 ~
KUser();
00185
00186 private:
00187
KSharedPtr<KUserPrivate> d;
00188
void fillPasswd(struct passwd* p);
00189
void fillName(const
char* name);
00190 };
00191
00192 #endif