• 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 
27 class KUserGroup;
28 class TQString;
29 class TQStringList;
30 class KUserPrivate;
31 struct passwd;
32 template <class T> class TQValueList;
33 
45 class TDECORE_EXPORT KUser {
46 
47 public:
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 
235 private:
236  TDESharedPtr<KUserPrivate> d;
237  void fillPasswd(struct passwd* p);
238  void fillName(const char* name);
239 };
240 
241 class KUserGroupPrivate;
242 
243 struct group;
244 
256 class TDECORE_EXPORT KUserGroup {
257 
258 public:
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 
377 private:
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.1
This website is maintained by Timothy Pearson.