00001 /*! \file DataBaseEntry.h 00002 \brief Gestion base de données. 00003 00004 Gestion d'une entrée dans la base de données \a DataBase. 00005 00006 \author aerith (www.aerith.fr) 00007 \version 1.0 00008 \date 01/11/2007 00009 */ 00010 00011 #ifndef INCLUDE_RSRC_DB_ENTRY 00012 #define INCLUDE_RSRC_DB_ENTRY 00013 00014 #include "../Error/Error.h" 00015 #include "DataBaseData.h" 00016 #include <vector> 00017 00018 00019 //! Gestion d'une entrée. 00020 /*! Gestion d'une entrée dans la base de données \a DataBase. 00021 */ 00022 class DataBaseEntry 00023 { 00024 private : 00025 int Id; /*!< Id de l'entrée. */ 00026 int NbData; /*!< Nombre de data dans l'entrée. */ 00027 std::vector<DataBaseData *> Datas; /*!< Chaque ligne est une data. */ 00028 00029 public : 00030 /*! Initialise l'entrée avec des paramétres par defauts. 00031 */ 00032 DataBaseEntry(int iId, int iNbData); 00033 00034 /*! Libere la memoire proprement. 00035 */ 00036 ~DataBaseEntry(); 00037 00038 //! Retourne la data. 00039 /*! Permet l'acces à la data à la position \a iPos. 00040 \param iPos position de la data. 00041 \return pointeur sur la classe \a DataseData. 00042 \sa GetNbData(). 00043 */ 00044 inline DataBaseData *GetData(int iPos) 00045 { 00046 if(iPos < NbData) 00047 return Datas[iPos]; 00048 00049 return NULL; 00050 } 00051 00052 //! Retourne le nombre de data. 00053 /*! Retourne le nombre de data \a NbData de l'entrée. 00054 \return le nombre de data de l'entrée. 00055 \sa GetId(). 00056 */ 00057 inline int GetNbData() 00058 { 00059 return NbData; 00060 }; 00061 00062 //! Retourne l'id de l'entrée. 00063 /*! Retourne l'id \a Id de l'entrée. 00064 \return l'id Id de l'entrée. 00065 \sa GetNbData(). 00066 */ 00067 inline int GetId() 00068 { 00069 return Id; 00070 }; 00071 00072 //! Ajoute une daata. 00073 /*! Ajoute une data à l'entrée. 00074 \return Code d'erreur. 00075 \sa DelData(). 00076 */ 00077 int AddData(); 00078 00079 //! Supprimse une data. 00080 /*! Supprime la data à la position \a iPos à l'entrée. 00081 \param iPos position de la data. 00082 \return Code d'erreur. 00083 \sa AddData(). 00084 */ 00085 int DelData(int iPos); 00086 }; 00087 00088 #endif