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

NetRequest.cpp

00001 /*! \file NetRequest.cpp
00002     \brief Structures pour parser.
00003 
00004     Structures utilisé par les parser de protocol programmable.
00005 
00006     \author     aerith (www.aerith.fr)
00007     \version    1.0
00008     \date       23/01/2008
00009 */
00010 
00011 #include    "NetRequest.h"
00012 
00013 
00014 NetRequestParameter::NetRequestParameter(NetConnect *pConnect)
00015 {
00016     NbParameter = 0;
00017     Connect     = pConnect;
00018 }
00019 
00020 NetRequestParameter::~NetRequestParameter()
00021 {
00022     for(int i = 0; i < NbParameter; i++)
00023     {
00024         delete [] Parameters[i]->Label;
00025 
00026         delete [] Parameters[i]->Data;
00027 
00028         delete Parameters[i];
00029     }
00030     Parameters.clear();
00031 }
00032 
00033 int     NetRequestParameter::Add(char *pLabel, char *pData)
00034 {
00035     int     i;
00036 
00037     Parameters.push_back(new NetRequestData);
00038 
00039     if(!Parameters[NbParameter])
00040         return ERROR_C_MEMORY;
00041     else
00042     {
00043         i = strlen(pLabel);
00044         Parameters[NbParameter]->Label = new char[i + 1];
00045         strcpy(Parameters[NbParameter]->Label, pLabel);
00046         Parameters[NbParameter]->Size = strlen(pData);
00047         Parameters[NbParameter]->Data = new char[Parameters[NbParameter]->Size + 1];
00048         strcpy(Parameters[NbParameter]->Data, pData);
00049     }
00050     
00051     NbParameter++;
00052     
00053     return ERROR_C_NOERROR;
00054 }
00055 
00056 int     NetRequestParameter::Send(char *pBuffer, ...)
00057 {
00058     char    Temp[NET_BUFFER];
00059     va_list args;
00060 
00061     va_start(args, pBuffer);
00062     vsprintf(Temp, pBuffer, args);
00063     va_end(args);
00064 
00065     return Connect->Send(Temp);
00066 };

Généré le Thu Jan 24 12:36:04 2008 pour A.I.F. par  doxygen 1.3.9.1