Source: xql/xqluser.h


Annotated List
Files
Globals
Hierarchy
Index
/***************************************************************************
                          xqluser.h  -  description
                             -------------------
    begin                : Tue Jan 15 2002
    copyright            : (C) 2002 by Raoul Markus
    email                : raoul.markus@arcormail.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef XQLUSER_H
#define XQLUSER_H

#include "xqlobject.h"
#include "xqltypes.h"
#include "xqlsqlstmt.h"
#include "crypt.h"


/**holds the XQL-users. Provides functions for the management of XQL users.
  *@author Raoul Markus
  */

class xqlUser : public xqlObject  {
public: 
  xqlUser(xqlOdbc * pConnection);
  ~xqlUser();
  /**
     returns the classname of this type
  */
  char * className() const;
  /**
     changes the password of the user. The user object has
     to be authorized to perform this procedure.
  */
  void chPasswd(const char * pPasswd);
  /** tries to authorize a user by password.
      If the user is authorized, the user object 
      becomes valid */
  void authByPasswd(const char * pPasswd);
  /**
      sets the username. Attention! it is possible
      to change the username for a given user id!.
  */
  void setUsername(const char * pName);
  void authBySuperUser(const xqlUser * pUser);
  /**
      get the User id for a given name, returns XQL_NO_USER
      if not found.
   */
  xqlUserId getIdByName(const char * pName);
  /**
     returns the authorization status of this user object.
   */
  bool isAuthorized();
  /**
     Loads the user given by Userid as pInstId into the current
     user object.
   */
  bool loadInstance(const int pInstId);
  bool createInstance();
  /**
     saves the current user, i. e. name and password.
  */
  bool saveInstance();
  /**
     creates a new user using name and password
  */
  void createUser(const char * pName, const char * pPasswd);
  /**
     returns the userid of this User.
   */
  xqlUserId getUserId();
  //bool deleteInstance();
private:
  void setAuthorized(bool pAuthValue);
  /** encrypts the passwd using the unix crypt function */
  char * xqlPwCrypt(const char *);
  char * mName;
  char * mPasswd;
  bool mIsAuthorized;
};


#endif

Generated by: markus on hobbes on Fri Mar 29 16:15:24 2002, using kdoc 2.0a53.