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

kdecore

  • kdecore
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 KDECORE_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  KSharedPtr<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 KDECORE_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  KSharedPtr<KUserGroupPrivate> d;
379  void fillGroup(struct group* g);
380  void fillName(const char* name);
381 };
382 
383 
384 #endif

kdecore

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

kdecore

Skip menu "kdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kdecore by doxygen 1.8.1.2
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |