00001 /* 00002 * $Id: Group.h 562 2007-12-02 08:04:16Z mindstorm2600 $ 00003 * 00004 * X-VR2 00005 * 00006 * Copyright (C) Juan V. Guerrero 2007 00007 * 00008 * Juan V. Guerrero <mindstorm2600@users.sourceforge.net> 00009 * 00010 * This program is free software, distributed under the terms of 00011 * the GNU General Public License Version 2. See the LICENSE file 00012 * at the top of the source tree. 00013 */ 00014 #ifndef __XVR2_GROUP_H__ 00015 #define __XVR2_GROUP_H__ 00016 00017 #include<xvr2/Unix.h> 00018 #include<xvr2/CoreExceptions.h> 00019 00020 namespace xvr2{ 00028 class Group:protected Unix{ 00029 protected: 00031 int _groupid; 00033 //String _groupname; 00034 std::string *string_representation; 00042 char *getGroupName(int gid); 00043 public: 00049 Group(); 00050 ~Group(); 00054 Group(int gid); 00060 Group(const String &gname); 00062 int getGroupID(); 00064 static int getCurrentGroupID(); 00067 static int getGroupID(const String &gname); 00069 static int getEffectiveGroupID(); 00071 static void setGroupID(int gid); 00073 static void setGroupID(const String &gname); 00075 static void setGroupID(const Group &grpobj); 00077 static void setEffectiveGroupID(int gid); 00079 static void setEffectiveGroupID(const String &gname); 00081 static void setEffectiveGroupID(const Group &grpobj); 00083 std::string toString(); 00084 }; 00085 } 00086 00087 #endif