• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdecore
 

tdecore

  • tdecore
kuser.h
1/*
2 * KUser - represent a user/account
3 * Copyright (C) 2002-2003 Tim Jansen <tim@tjansen.de>
4 * Copyright (C) 2003 Oswald Buddenhagen <ossi@kde.org>
5 * Copyright (C) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21 */
22#ifndef KUSER_H
23#define KUSER_H
24
25#include "ksharedptr.h"
26
27class KUserGroup;
28class TQString;
29class TQStringList;
30class KUserPrivate;
31struct passwd;
32template <class T> class TQValueList;
33
45class TDECORE_EXPORT KUser {
46
47public:
48
49 enum UIDMode {
50 UseEffectiveUID,
51 UseRealUserID
52 };
53
67 // XXX KDE4: Make this explicit
68 KUser(UIDMode mode = UseEffectiveUID);
69
75 // XXX KDE4: Make this explicit; give parameter as uid_t instead of "long"
76 KUser(long uid);
77
84 // XXX KDE4: Make this explicit
85 KUser(const TQString& name);
86
93 // XXX KDE4: Make this explicit
94 KUser(const char *name);
95
102 // XXX KDE4: Make this explicit
103 KUser(struct passwd *p);
104
109 KUser(const KUser & user);
110
116 KUser& operator =(const KUser& user);
117
122 bool operator ==(const KUser& user) const;
123
128 bool operator !=(const KUser &user) const;
129
135 bool isValid() const;
136
141 // XXX KDE4: Make this return uid_t
142 long uid() const;
143
144
149 // XXX KDE4: Make this return gid_t
150 long gid() const;
151
156 bool isSuperUser() const;
157
162 TQString loginName() const;
163
168 TQString fullName() const;
169
175 TQString roomNumber() const;
176
182 TQString workPhone() const;
183
189 TQString homePhone() const;
190
196 TQString homeDir() const;
197
203 TQString shell() const;
204
209 TQValueList<KUserGroup> groups() const;
210
215 TQStringList groupNames() const;
216
217
221 ~KUser();
222
227 static TQValueList<KUser> allUsers();
228
233 static TQStringList allUserNames();
234
235private:
236 TDESharedPtr<KUserPrivate> d;
237 void fillPasswd(struct passwd* p);
238 void fillName(const char* name);
239};
240
241class KUserGroupPrivate;
242
243struct group;
244
256class TDECORE_EXPORT KUserGroup {
257
258public:
259
270 explicit KUserGroup(KUser::UIDMode mode = KUser::UseEffectiveUID);
271
277 // XXX KDE4: Give parameter as gid_t instead of "long"
278 explicit KUserGroup(long gid);
279
285 explicit KUserGroup(const TQString& name);
286
292 explicit KUserGroup(const char *name);
293
299 explicit KUserGroup(struct group *g);
300
305 KUserGroup(const KUserGroup & group);
306
312 KUserGroup& operator =(const KUserGroup& group);
313
319 bool operator ==(const KUserGroup& group) const;
320
326 bool operator !=(const KUserGroup& group) const;
327
334 bool isValid() const;
335
340 // XXX KDE4: Return gid_t instead of "long"
341 long gid() const;
342
347 TQString name() const;
348
353 const TQValueList<KUser>& users() const;
354
359 TQStringList userNames() const;
360
361
365 ~KUserGroup();
366
370 static TQValueList<KUserGroup> allGroups();
371
375 static TQStringList allGroupNames();
376
377private:
378 TDESharedPtr<KUserGroupPrivate> d;
379 void fillGroup(struct group* g);
380 void fillName(const char* name);
381};
382
383
384#endif
KUserGroup
Represents a group on your system.
Definition: kuser.h:256
KUser
Represents a user on your system.
Definition: kuser.h:45
KUser::UIDMode
UIDMode
Definition: kuser.h:49
KUser::UseEffectiveUID
@ UseEffectiveUID
Use the effective user id.
Definition: kuser.h:50
TDESharedPtr< KUserPrivate >

tdecore

Skip menu "tdecore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdecore

Skip menu "tdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdecore by doxygen 1.9.4
This website is maintained by Timothy Pearson.