• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

KDECore

kuser.h

Go to the documentation of this file.
00001 /*
00002  *  KUser - represent a user/account
00003  *  Copyright (C) 2002-2003 Tim Jansen <tim@tjansen.de>
00004  *  Copyright (C) 2003 Oswald Buddenhagen <ossi@kde.org>
00005  *  Copyright (C) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
00006  *
00007  *  This library is free software; you can redistribute it and/or
00008  *  modify it under the terms of the GNU Library General Public
00009  *  License as published by the Free Software Foundation; either
00010  *  version 2 of the License, or (at your option) any later version.
00011  *
00012  *  This library is distributed in the hope that it will be useful,
00013  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  *  Library General Public License for more details.
00016  *
00017  *  You should have received a copy of the GNU Library General Public License
00018  *  along with this library; see the file COPYING.LIB.  If not, write to
00019  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00020  *  Boston, MA 02110-1301, USA.
00021  */
00022 #ifndef KUSER_H
00023 #define KUSER_H
00024 
00025 #include "ksharedptr.h"
00026 
00027 class KUserGroup;
00028 class QString;
00029 class QStringList;
00030 class KUserPrivate;
00031 struct passwd;
00032 template <class T> class QValueList;
00033 
00045 class KDECORE_EXPORT KUser {
00046 
00047 public:
00048 
00049   enum UIDMode { 
00050     UseEffectiveUID, 
00051     UseRealUserID    
00052   };
00053 
00067   // XXX KDE4: Make this explicit
00068   KUser(UIDMode mode = UseEffectiveUID);
00069 
00075   // XXX KDE4: Make this explicit; give parameter as uid_t instead of "long"
00076   KUser(long uid);
00077 
00084   // XXX KDE4: Make this explicit
00085   KUser(const QString& name);
00086 
00093   // XXX KDE4: Make this explicit
00094   KUser(const char *name);
00095 
00102   // XXX KDE4: Make this explicit
00103   KUser(struct passwd *p);
00104 
00109   KUser(const KUser & user);
00110   
00116   KUser& operator =(const KUser& user);
00117   
00122   bool operator ==(const KUser& user) const;
00123 
00128   bool operator !=(const KUser &user) const;
00129 
00135   bool isValid() const;
00136 
00141   // XXX KDE4: Make this return uid_t
00142   long uid() const;
00143 
00144 
00149   // XXX KDE4: Make this return gid_t
00150   long gid() const;
00151 
00156   bool isSuperUser() const;
00157 
00162   QString loginName() const;
00163 
00168   QString fullName() const;
00169 
00175   QString roomNumber() const;
00176 
00182   QString workPhone() const;
00183 
00189   QString homePhone() const;
00190 
00196   QString homeDir() const;
00197 
00203   QString shell() const;
00204 
00209   QValueList<KUserGroup> groups() const;
00210   
00215   QStringList groupNames() const;
00216   
00217   
00221   ~KUser();
00222 
00227   static QValueList<KUser> allUsers();
00228 
00233   static QStringList allUserNames();
00234 
00235 private:
00236   KSharedPtr<KUserPrivate> d;
00237   void fillPasswd(struct passwd* p);
00238   void fillName(const char* name);
00239 };
00240 
00241 class KUserGroupPrivate;
00242 
00243 struct group;
00244 
00256 class KDECORE_EXPORT KUserGroup {
00257 
00258 public:
00259 
00270   explicit KUserGroup(KUser::UIDMode mode = KUser::UseEffectiveUID);
00271   
00277   // XXX KDE4: Give parameter as gid_t instead of "long"
00278   explicit KUserGroup(long gid);
00279   
00285   explicit KUserGroup(const QString& name);
00286   
00292   explicit KUserGroup(const char *name);
00293   
00299   explicit KUserGroup(struct group *g);
00300   
00305   KUserGroup(const KUserGroup & group);
00306   
00312   KUserGroup& operator =(const KUserGroup& group);
00313   
00319   bool operator ==(const KUserGroup& group) const;
00320   
00326   bool operator !=(const KUserGroup& group) const;
00327   
00334   bool isValid() const;
00335   
00340   // XXX KDE4: Return gid_t instead of "long"
00341   long gid() const;
00342   
00347   QString name() const;
00348   
00353   const QValueList<KUser>& users() const;
00354   
00359   QStringList userNames() const;
00360   
00361   
00365   ~KUserGroup(); 
00366   
00370   static QValueList<KUserGroup> allGroups();
00371   
00375   static QStringList allGroupNames();
00376   
00377 private:
00378   KSharedPtr<KUserGroupPrivate> d;
00379   void fillGroup(struct group* g);
00380   void fillName(const char* name);
00381 };
00382 
00383 
00384 #endif

KDECore

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

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal