00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef TEKUSERDB_H_8E4AC624_3D1E_11DA_83AF_000BDBC434D9
00023 #define TEKUSERDB_H_8E4AC624_3D1E_11DA_83AF_000BDBC434D9
00024
00025 #ifndef TEKLTI_H_C35A2A4C_D475_11D9_90BC_000BDBC434D9
00026 #error This file must be included from <teklti.h>
00027 #endif
00028
00029
00030 TEKUUIDIMPORT(UTekUserDB);
00031
00032
00033 typedef int(TekUserDBFunc)(TekUser * TekUserEnum);
00034
00035
00043 class TekUserDB : public TekEnum
00044 {
00045 public:
00046 TekUserDB();
00047 ~TekUserDB();
00048
00049 virtual TEKERR Clone(TekEnum ** RetVal) = 0;
00050 virtual TEKERR Back(void ** RetVal) = 0;
00051 virtual TEKERR EnumNo(unsigned long ItemNo) = 0;
00052 virtual TEKERR Next(void ** RetVal) = 0;
00053 virtual TEKERR Reset() = 0;
00054
00055 virtual TEKERR Open() = 0;
00056 virtual TEKERR Close() = 0;
00057 virtual TEKERR Flush() = 0;
00058 virtual TEKERR OpenAndLoadAll() = 0;
00059 virtual TEKERR FindUser(const uchar_t * Username, TekUser * RetVal) = 0;
00060 virtual TEKERR FindUsers(
00061 const uchar_t * SearchString,
00062 TekUserDBFunc * FuncToCall,
00063 struct TekArray ** RetVal = NULL
00064 ) = 0;
00065 virtual TEKERR FindUsersFree(TekUser ** UserInfoArray) = 0;
00066 virtual TEKERR WriteUsers(TekUser ** UserInfoArray, unsigned long Count) = 0;
00067 virtual TEKERR WriteUser(TekUser * UserInfo) = 0;
00068 virtual TEKERR DeleteUser(TekUser * UserInfo) = 0;
00069 virtual TEKERR DeleteUsers(
00070 const uchar_t * SearchString,
00071 TekUserDBFunc * FuncToCall,
00072 struct TekArray ** RetVal = NULL
00073 ) = 0;
00074
00075 virtual TEKERR put_Filename(const uchar_t * NewFilename) = 0;
00076 virtual TEKERR get_Filename(uchar_t ** Filename) = 0;
00077
00078 virtual TEKERR get_ReadOnly(bool * ReadOnlyStat) = 0;
00079
00080 virtual TEKERR get_FileInterfaceUUID(uuid_t * FileUUID) = 0;
00081 virtual TEKERR put_FileInterfaceUUID(const uuid_t * FileUUID) = 0;
00082 virtual TEKERR get_GenericFileType(TekFileType * CurrentFileType) = 0;
00083 virtual TEKERR put_GenericFileType(TekFileType CurrentFileType) = 0;
00084 };
00085
00086
00087 TEKLTI_DECLSPEC TEKERR TekOpenUserDB(TekUserDB ** RetVal);
00088
00089 #endif
00090