Page principale | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier | Pages associées

DataBaseData.h

Aller à la documentation de ce fichier.
00001 /*! \file DataBaseData.h
00002     \brief Gestion base de données.
00003 
00004     Gestion d'une data dans la base de données \a DataBase.
00005 
00006     \author     aerith (www.aerith.fr)
00007     \version    1.0
00008     \date       26/07/2007
00009 */
00010 
00011 
00012 #ifndef INCLUDE_RSRC_DB_DATA
00013 #define INCLUDE_RSRC_DB_DATA
00014 
00015 #include    <malloc.h>
00016 #include    <string.h>
00017 
00018 #define     DB_NONEVALUE    "\0"
00019 
00020 //! Gestion d'une data.
00021 /*! Gestion d'une data dans la base de données \a DataBase.
00022 */
00023 class DataBaseData
00024 {
00025 private :
00026     int     Size;       /*!< Taille de la data.         */
00027     char    *Data;      /*!< La données en elle meme.   */
00028 
00029 public  :
00030     /*! Initialise avec des parametres par defaut.
00031     */
00032     DataBaseData()
00033     {
00034         Size    = 0;
00035         Data    = NULL;
00036     };
00037 
00038     /*! Libere la memoire proprement.
00039     */
00040     ~DataBaseData()
00041     {
00042         delete [] Data;
00043     };
00044 
00045     //! Définie la data.
00046     /*! Définie la \a Data et \a Size.
00047         \param pData data à ecrire.
00048         \param iSize taille de la data.
00049         \return pointeur vers la \a Data ecrit.
00050         \sa GetData() et GetSize().
00051     */
00052     inline char     *SetData(char *pData, int iSize = 0)
00053     {
00054         if(!iSize)
00055             iSize = strlen(pData);
00056 
00057         if(iSize != Size)
00058         {
00059             delete [] Data;
00060             Data = new char[iSize + 1];
00061             Size = iSize;
00062         }
00063 
00064         return strncpy(Data, pData, Size);
00065     };
00066 
00067     //! Retourne la data.
00068     /*! Retourne un pointeur sur \a Data.
00069         \return pointeur sur \a Data.
00070         \sa SetData() et GetSize().
00071     */
00072     inline char     *GetData()
00073     {
00074         if(Data && Size)
00075             return Data;
00076         else
00077             return DB_NONEVALUE;
00078     };
00079 
00080     //! Retourne la taille de data.
00081     /*! Retourne \a Size.
00082         \return taille de la data \a Size.
00083         \sa SetData() et GetData().
00084     */
00085     inline int      GetSize()
00086     {
00087         return Size;
00088     };
00089 };
00090 
00091 #endif
00092 

Généré le Thu Jun 12 09:12:29 2008 pour A.I.F. par  doxygen 1.3.9.1