tekuserdbunix.h

00001 /***************************************************************************
00002  *   Copyright (C) 2005 by Kevin McBride                                   *
00003  *   kevin@planetsaphire.com                                               *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU Library General Public License as       *
00007  *   published by the Free Software Foundation; either version 2 of the    *
00008  *   License, or (at your option) any later version.                       *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU Library General Public     *
00016  *   License along with this program; if not, write to the                 *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 
00021 #ifndef TEKUSERDBUNIX_H_714F5DDE_4280_11DA_9100_000BDBC434D9
00022 #define TEKUSERDBUNIX_H_714F5DDE_4280_11DA_9100_000BDBC434D9
00023 
00024 #ifndef     TEKLTI_H_C35A2A4C_D475_11D9_90BC_000BDBC434D9
00025 #error      This file must be included from <teklti.h>
00026 #endif      /* TEKLTI_H_C35A2A4C_D475_11D9_90BC_000BDBC434D9 */
00027 
00035 class TekUserDBUnix : public TekUserDB
00036 {
00037 public:
00038   TekUserDBUnix();
00039 
00040   ~TekUserDBUnix();
00041 
00042   virtual TEKERR Back(void** RetVal);
00043   virtual TEKERR Clone(TekEnum** RetVal);
00044   virtual TEKERR Close();
00045   virtual TEKERR DeleteUsers(const uchar_t* SearchString, TekUserDBFunc* FuncToCall, struct TekArray** RetVal);
00046   virtual TEKERR DeleteUser(TekUser* UserInfo);
00047   virtual TEKERR EnumNo(unsigned long ItemNo);
00048   virtual TEKERR FindUser(const uchar_t* Username, TekUser* RetVal);
00049   virtual TEKERR FindUsers(const uchar_t* SearchString, TekUserDBFunc* FuncToCall, struct TekArray** RetVal);
00050   virtual TEKERR FindUsersFree(TekUser** UserInfoArray);
00051   virtual TEKERR Flush();
00052   virtual TEKERR get_FileInterfaceUUID(uuid_t* FileUUID);
00053   virtual TEKERR get_Filename(uchar_t** Filename);
00054   virtual TEKERR get_GenericFileType(TekFileType* CurrentFileType);
00055   virtual TEKERR get_ReadOnly(bool* ReadOnlyStat);
00056   virtual TEKERR Next(void** RetVal);
00057   virtual TEKERR Open();
00058   virtual TEKERR OpenAndLoadAll();
00059   virtual TEKERR put_FileInterfaceUUID(const uuid_t* FileUUID);
00060   virtual TEKERR put_Filename(const uchar_t* NewFilename);
00061   virtual TEKERR put_GenericFileType(TekFileType CurrentFileType);
00062   virtual TEKERR Reset();
00063   virtual TEKERR WriteUsers(TekUser** UserInfoArray, unsigned long Count);
00064   virtual TEKERR WriteUser(TekUser* UserInfo);
00065 
00066 };
00067 
00068 #endif /* TEKUSERDBUNIX_H_714F5DDE_4280_11DA_9100_000BDBC434D9 */
00069 
SourceForge.net Logo  Technical Library Template Interface Project Page