xvr2::User Class Reference

#include <User.h>

Inheritance diagram for xvr2::User:

Inheritance graph
[legend]

List of all members.


Detailed Description

This class deals with user management and numeric id setup on on running processes.

Definition at line 25 of file User.h.


Public Member Functions

 User ()
 This is the default constructor, it will initialize the internal userid and username to the same one as the current executing process.
 ~User ()
 User (int uid)
 This will create a new User object with userid uid.
 User (const String &uname)
 This will create a new User object with username uname.
int getUserID ()
 This will return the object's numeric user id.
std::string toString ()

Static Public Member Functions

static int getCurrentUserID ()
 This will return the current process's user id.
static int getUserID (const String &uname)
 This will return the numeric user id corresponding to the string uname.
static int getEffectiveUserID ()
 This will give the numeric effective user id.
static void setUserID (int uid)
 This will set the current process user id to uid.
static void setUserID (const String &uname)
 This will set the current process user id to uname.
static void setUserID (const User &usrobj)
 This will set the current process user id to usrobj.
static void setEffectiveUserID (int uid)
 This will set the current process effective user id to uid.
static void setEffectiveUserID (const String &uname)
 This will set the current process effective user id to uname.
static void setEffectiveUserID (const User &usrobj)
 This will set the current process effective user id to usrobj.

Protected Member Functions

void destroyAll ()
 Internal destructor function DONT USE IT.
void getKernelInfo ()
 This method will update the name and information about the current running kernel.
const char * getUnixName ()
 Use this method to retreives the name of the UNIX version you are currently using.
const char * getNodeName ()
 This method will give you the nodename of your current host machine.
const char * getKernelRelease ()
 This will return your current kernel release string.
const char * getKernelReleaseVersion ()
 This will return your current kernel release version string.
const char * getHostMachine ()
 This will return your current architecture description.
virtual const char * getClassName ()
 Returns the name of the current class.

Static Protected Member Functions

static char * _getUsername (int uid)
 This will translate a numeric user id into a null terminated character array.
static int getuid ()
 Obtains the current (running) user id.
static int getuid (const String &username)
 Obtain uid from username.
static int getgid ()
 Obtain username from uid TODO: You must create the memory allocation classes if you want to implement the new version of getuid(); DONT FORGET IT!!!!
static int getgid (const String &groupname)
 Obtain uid from username.
static int chown (const String &fname, int userid, int groupid=-1)
 Obtain username from uid TODO: You must create the memory allocation classes if you want to implement the new version of getgid(); DONT FORGET IT!!!!
static int chown (const String &fname, const String &owner)
 Changes the owner of the file by its username.
static int chgrp (const String &fname, int userid)
 Changes the group owner of the file by its numeric userid.
static int chgrp (const String &fname, const String &groupname)
 Changes the group owner of the file by its groupname.
static void usleep (UInt32 usec)
 This will return how many CPUs are installed in the system.
static void debugmsg (Object *obj, const char *msg, int linenumber=__LINE__, const char *srcfile=__FILE__)
 Will print a debug message to the screen.
static void debugmsgln (Object *obj, const char *msg, int linenumber=__LINE__, const char *srcfile=__FILE__)

Protected Attributes

int _userid
 This member stores the numeric user id.
std::string * string_representation
 This member stores the username as a string.
char * sysname
 Pointer to system name.
char * nodename
char * release
char * k_version
char * machine
Mutex OSMutex
std::string __cls_name

Friends

std::ostream & operator<< (std::ostream &stream, const Object &s)

Constructor & Destructor Documentation

xvr2::User::User (  ) 

This is the default constructor, it will initialize the internal userid and username to the same one as the current executing process.

xvr2::User::~User (  ) 

xvr2::User::User ( int  uid  ) 

This will create a new User object with userid uid.

xvr2::User::User ( const String uname  ) 

This will create a new User object with username uname.


Member Function Documentation

static char* xvr2::User::_getUsername ( int  uid  )  [static, protected]

This will translate a numeric user id into a null terminated character array.

int xvr2::User::getUserID (  ) 

This will return the object's numeric user id.

static int xvr2::User::getCurrentUserID (  )  [static]

This will return the current process's user id.

static int xvr2::User::getUserID ( const String uname  )  [static]

This will return the numeric user id corresponding to the string uname.

static int xvr2::User::getEffectiveUserID (  )  [static]

This will give the numeric effective user id.

static void xvr2::User::setUserID ( int  uid  )  [static]

This will set the current process user id to uid.

static void xvr2::User::setUserID ( const String uname  )  [static]

This will set the current process user id to uname.

static void xvr2::User::setUserID ( const User usrobj  )  [static]

This will set the current process user id to usrobj.

static void xvr2::User::setEffectiveUserID ( int  uid  )  [static]

This will set the current process effective user id to uid.

static void xvr2::User::setEffectiveUserID ( const String uname  )  [static]

This will set the current process effective user id to uname.

static void xvr2::User::setEffectiveUserID ( const User usrobj  )  [static]

This will set the current process effective user id to usrobj.

std::string xvr2::User::toString (  )  [virtual]

Reimplemented from xvr2::Object.

void xvr2::Unix::destroyAll (  )  [protected, inherited]

Internal destructor function DONT USE IT.

static int xvr2::Unix::getuid (  )  [static, inherited]

Obtains the current (running) user id.

static int xvr2::Unix::getuid ( const String username  )  [static, inherited]

Obtain uid from username.

static int xvr2::Unix::getgid (  )  [static, inherited]

Obtain username from uid TODO: You must create the memory allocation classes if you want to implement the new version of getuid(); DONT FORGET IT!!!!

Obtains the current (running) user id

static int xvr2::Unix::getgid ( const String groupname  )  [static, inherited]

Obtain uid from username.

static int xvr2::Unix::chown ( const String fname,
int  userid,
int  groupid = -1 
) [static, inherited]

Obtain username from uid TODO: You must create the memory allocation classes if you want to implement the new version of getgid(); DONT FORGET IT!!!!

Changes the owner of the file by its numeric userid

static int xvr2::Unix::chown ( const String fname,
const String owner 
) [static, inherited]

Changes the owner of the file by its username.

static int xvr2::Unix::chgrp ( const String fname,
int  userid 
) [static, inherited]

Changes the group owner of the file by its numeric userid.

static int xvr2::Unix::chgrp ( const String fname,
const String groupname 
) [static, inherited]

Changes the group owner of the file by its groupname.

void xvr2::Unix::getKernelInfo (  )  [inherited]

This method will update the name and information about the current running kernel.

const char* xvr2::Unix::getUnixName (  )  [inherited]

Use this method to retreives the name of the UNIX version you are currently using.

const char* xvr2::Unix::getNodeName (  )  [inherited]

This method will give you the nodename of your current host machine.

const char* xvr2::Unix::getKernelRelease (  )  [inherited]

This will return your current kernel release string.

const char* xvr2::Unix::getKernelReleaseVersion (  )  [inherited]

This will return your current kernel release version string.

const char* xvr2::Unix::getHostMachine (  )  [inherited]

This will return your current architecture description.

static void xvr2::System::usleep ( UInt32  usec  )  [static, inherited]

This will return how many CPUs are installed in the system.

This will return the CPU speed in megahertz Will return the total amount of system memory Will return the total amount of free system memory Will freeze the software for usec microseconds

virtual const char* xvr2::Object::getClassName (  )  [virtual, inherited]

Returns the name of the current class.

static void xvr2::Object::debugmsg ( Object obj,
const char *  msg,
int  linenumber = __LINE__,
const char *  srcfile = __FILE__ 
) [static, inherited]

Will print a debug message to the screen.

static void xvr2::Object::debugmsgln ( Object obj,
const char *  msg,
int  linenumber = __LINE__,
const char *  srcfile = __FILE__ 
) [static, inherited]


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  stream,
const Object s 
) [friend, inherited]


Member Data Documentation

int xvr2::User::_userid [protected]

This member stores the numeric user id.

Definition at line 28 of file User.h.

std::string* xvr2::User::string_representation [protected]

This member stores the username as a string.

Definition at line 31 of file User.h.

char* xvr2::Unix::sysname [protected, inherited]

Pointer to system name.

Definition at line 28 of file Unix.h.

char* xvr2::Unix::nodename [protected, inherited]

Definition at line 29 of file Unix.h.

char* xvr2::Unix::release [protected, inherited]

Definition at line 30 of file Unix.h.

char* xvr2::Unix::k_version [protected, inherited]

Definition at line 31 of file Unix.h.

char* xvr2::Unix::machine [protected, inherited]

Definition at line 32 of file Unix.h.

Mutex xvr2::Unix::OSMutex [protected, inherited]

Definition at line 34 of file Unix.h.

std::string xvr2::Object::__cls_name [protected, inherited]

Definition at line 30 of file Object.h.


The documentation for this class was generated from the following file:

Generated on Fri Jun 20 22:55:59 2008 for X-VR2 SDK by  doxygen 1.5.5