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

NetClientCom.cpp

00001 //##############################################################################
00002 //#                                                                            #
00003 //# fichier : ClientCom.cpp                             version : V1.0         #
00004 //# projet  : GestionAsso                               date :  07/12/2004     #
00005 //# par     : aerith                                                           #
00006 //#                                                                            #
00007 //# Methodes de la classe ClientCom                                            #
00008 //#                                                                            #
00009 //##############################################################################
00010 
00011 #include    "ClientCom.h"
00012 #include    "../src/Tools.h"
00013 
00014 ClientCom::ClientCom()
00015 {
00016     Data    = NULL;
00017     NbData  = 0;
00018     Table   = 0;
00019     Id      = 0;
00020     Last    = 0;
00021     Running = 0;
00022 }
00023 
00024 ClientCom::~ClientCom()
00025 {
00026     if(Running == 1)
00027         Stop();
00028 }
00029 
00030 int     ClientCom::Start(char *NomFichier)
00031 {
00032     int         ErrorCode = 0;
00033 
00034     if(Running == 0)
00035     {
00036         Running         = 1;
00037 
00038         ErrorCode = Connexion.Start(NomFichier);
00039     }
00040     else
00041         ErrorCode = 15;
00042 
00043     if(ErrorCode)
00044         Stop();
00045 
00046     return ErrorCode;
00047 }
00048 
00049 int     ClientCom::Stop()
00050 {
00051     int     ErrorCode = 0;
00052 
00053     if(Running == 1)
00054     {
00055         Running = 0;
00056 
00057         ErrorCode = Connexion.Stop();
00058         
00059         for(int i = 0; i < NbData; i++)
00060             delete [] Data[i];
00061 
00062         delete [] Data;
00063         
00064         NbData  = 0;
00065         Table   = 0;
00066         Id      = 0;
00067         Last    = 0;
00068     }
00069     else
00070         ErrorCode = 16;
00071 
00072     return ErrorCode;
00073 }
00074 /*
00075 int     ClientCom::Insert(int Table, char *pData, int Id = 0)
00076 {
00077     int     ErrorCode = 0;
00078 
00079     if(Running == 1)
00080     {
00081         ErrorCode = SetTable(Buffer);
00082         
00083         if(Table == 0)
00084         {
00085             delete [] DataOut;
00086 
00087             DataOut = new char[8];
00088             sprintf(DataOut, "%i", ERR_TABLE);
00089         }
00090         else
00091         {
00092             if(!ErrorCode)
00093                 ErrorCode = SetId(Buffer);
00094 
00095             if(!ErrorCode)
00096                 ErrorCode = SetData(Buffer);
00097 
00098             if(!ErrorCode)
00099                 ErrorCode = Base.SetData(Data);
00100 
00101             if(!ErrorCode)
00102                 ErrorCode = Base.Write(Table, Id);
00103 
00104             if(!ErrorCode)
00105                 ErrorCode = Base.Read(Table, Id);
00106 
00107             if(!ErrorCode)
00108             {
00109                 delete [] DataOut;
00110 
00111                 DataOut = new char[strlen(Base.GetData()) + 16];
00112                 sprintf(DataOut, "%i %i %s", DATA, Table, Base.GetData());
00113             }
00114         }
00115     }
00116     else
00117         ErrorCode = 16;
00118 
00119     return ErrorCode;
00120 }
00121 
00122 int     ClientCom::Delet(char *Buffer)
00123 {
00124     int     ErrorCode = 0;
00125 
00126     if(Running == 1)
00127     {
00128         ErrorCode = SetTable(Buffer);
00129 
00130         if(Table == 0)
00131         {
00132             delete [] DataOut;
00133 
00134             DataOut = new char[8];
00135             sprintf(DataOut, "%i", ERR_TABLE);
00136         }
00137         else
00138         {
00139             if(!ErrorCode)
00140                 ErrorCode = SetId(Buffer);
00141 
00142             if(Id == 0)
00143             {
00144                 delete [] DataOut;
00145 
00146                 DataOut = new char[8];
00147                 sprintf(DataOut, "%i", ERR_ID);
00148             }
00149             else
00150             {
00151                 if(!ErrorCode)
00152                     ErrorCode = Base.Remove(Table, Id);
00153 
00154                 if(!ErrorCode)
00155                     ErrorCode = Base.Read(Table);
00156 
00157                 if(!ErrorCode)
00158                 {
00159                     delete [] DataOut;
00160 
00161                     DataOut = new char[32];
00162                     sprintf(DataOut, "%i %i %i", NBENTRY, Table, Base.GetNbData());
00163                 }
00164             }
00165         }
00166     }
00167     else
00168         ErrorCode = 16;
00169 
00170     return ErrorCode;
00171 }
00172 
00173 int     ClientCom::NbEntry(char *Buffer)
00174 {
00175     int     ErrorCode = 0;
00176 
00177     if(Running == 1)
00178     {
00179         ErrorCode = SetTable(Buffer);
00180 
00181         if(Table == 0)
00182         {
00183             delete [] DataOut;
00184 
00185             DataOut = new char[8];
00186             sprintf(DataOut, "%i", ERR_TABLE);
00187         }
00188         else
00189         {
00190             if(!ErrorCode)
00191                 ErrorCode = Base.Read(Table);
00192 
00193             if(!ErrorCode)
00194             {
00195                 delete [] DataOut;
00196 
00197                 DataOut = new char[32];
00198                 sprintf(DataOut, "%i %i %i", NBENTRY, Table, Base.GetNbData());
00199             }
00200         }
00201     }
00202     else
00203         ErrorCode = 16;
00204 
00205     return ErrorCode;
00206 }
00207 
00208 int     ClientCom::Select(char *Buffer)
00209 {
00210     int     ErrorCode = 0;
00211 
00212     if(Running == 1)
00213     {
00214         ErrorCode = SetTable(Buffer);
00215 
00216         if(Table == 0)
00217         {
00218             delete [] DataOut;
00219 
00220             DataOut = new char[8];
00221             sprintf(DataOut, "%i", ERR_TABLE);
00222         }
00223         else
00224         {
00225             if(!ErrorCode)
00226                 ErrorCode = SetId(Buffer);
00227 
00228             if(!ErrorCode)
00229                 ErrorCode = Base.Read(Table);
00230 
00231             if(!ErrorCode)
00232             {
00233                 delete [] DataOut;
00234 
00235                 if(Last == 0)
00236                 {
00237                     DataOut = new char[32];
00238                     sprintf(DataOut, "%i %i %i", NBENTRY, Table, Base.GetNbData());
00239                 
00240                     Last = 1;
00241                 }
00242                 else if(Last <= Base.GetNbData())
00243                 {
00244                     DataOut = new char[strlen(Base.GetData(Last - 1)) + 16];
00245                     sprintf(DataOut, "%i %i %s", DATA, Table, Base.GetData(Last - 1));
00246 
00247                     Last++;
00248                 }
00249                 else if(Last > Base.GetNbData())
00250                 {
00251                     DataOut = new char[8];
00252                     sprintf(DataOut, "%i", OK);
00253 
00254                     Last = 0;
00255                 }
00256                 else
00257                     ErrorCode = 13;
00258             }
00259         }
00260     }
00261     else
00262         ErrorCode = 16;
00263 
00264     return ErrorCode;
00265 }
00266 
00267 int     ClientCom::WorkWithSql()
00268 {
00269     int     ErrorCode = 0;
00270 
00271     if(Running == 1)
00272     {
00273         delete [] DataOut;
00274 
00275         DataOut = new char[8];
00276         
00277         if(Base.SetMode(MODE_SQL) == MODE_SQL)
00278             sprintf(DataOut, "%i", WORKWITHSQL);
00279         else
00280             sprintf(DataOut, "%i", WORKWITHFILE);
00281     }
00282     else
00283         ErrorCode = 16;
00284 
00285     return ErrorCode;
00286 }
00287 
00288 int     ClientCom::WorkWithFile()
00289 {
00290     int     ErrorCode = 0;
00291 
00292     if(Running == 1)
00293     {
00294         delete [] DataOut;
00295 
00296         DataOut = new char[8];
00297 
00298         if(Base.SetMode(MODE_FILE) == MODE_FILE)
00299             sprintf(DataOut, "%i", WORKWITHFILE);
00300         else
00301             sprintf(DataOut, "%i", WORKWITHSQL);
00302     }
00303     else
00304         ErrorCode = 16;
00305 
00306     return ErrorCode;
00307 }
00308 
00309 int     ClientCom::FileToSql()
00310 {
00311     int     ErrorCode = 0;
00312 
00313     if(Running == 1)
00314     {
00315         ErrorCode = FileToSql();
00316 
00317         if(!ErrorCode)
00318         {
00319             delete [] DataOut;
00320 
00321             DataOut = new char[32];
00322             sprintf(DataOut, "%i %i", CONVERTED, Base.GetNbData());
00323         }
00324     }
00325     else
00326         ErrorCode = 16;
00327 
00328     return ErrorCode;
00329 }
00330 
00331 int     ClientCom::SqlToFile()
00332 {
00333     int     ErrorCode = 0;
00334 
00335     if(Running == 1)
00336     {
00337         ErrorCode = SqlToFile();
00338 
00339         if(!ErrorCode)
00340         {
00341             delete [] DataOut;
00342 
00343             DataOut = new char[32];
00344             sprintf(DataOut, "%i %i", CONVERTED, Base.GetNbData());
00345         }
00346     }
00347     else
00348         ErrorCode = 16;
00349 
00350     return ErrorCode;
00351 }
00352 
00353 char    *ClientCom::GetData()
00354 {
00355     return DataOut;
00356 }
00357 
00358 int     ClientCom::SetTable(char *Buffer)
00359 {
00360     int     ErrorCode = 0;
00361 
00362     if(Running == 1)
00363     {
00364         Table = 0;
00365         
00366         if(isnumber(gettok2(Buffer, 1, " \n")))
00367             Table = atod(gettok2(Buffer, 1, " \n"));
00368         else
00369             ErrorCode = 13;
00370     }
00371     else
00372         ErrorCode = 16;
00373 
00374     return ErrorCode;
00375 }
00376 
00377 int     ClientCom::SetId(char *Buffer)
00378 {
00379     int     ErrorCode = 0;
00380 
00381     if(Running == 1)
00382     {
00383         Id = 0;
00384         
00385         if(isnumber(gettok2(Buffer, 2, " \n")))
00386             Id = atod(gettok2(Buffer, 2, " \n"));
00387     }
00388     else
00389         ErrorCode = 16;
00390 
00391     return ErrorCode;
00392 }
00393 
00394 int     ClientCom::SetData(char *Buffer)
00395 {
00396     int     ErrorCode = 0;
00397 
00398     if(Running == 1)
00399     {
00400         if(gettok2(Buffer, 1, ":\n"))
00401         {
00402             delete [] Data;
00403 
00404             Data = new char[strlen(gettok2(Buffer, 1, ":\n"))];
00405             strcpy(Data, gettok2(Buffer, 1, ":\n"));
00406         }
00407         else
00408             ErrorCode = 13;
00409     }
00410     else
00411         ErrorCode = 16;
00412 
00413     return ErrorCode;
00414 }
00415 */

Généré le Thu Oct 12 01:00:43 2006 pour GestionAsso par  doxygen 1.3.9.1