00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "NetRequest.h"
00012
00013
00014 NetRequestParameter::NetRequestParameter(NetConnect *pConnect)
00015 {
00016 NbParameter = 0;
00017 Connect = pConnect;
00018 Pos = 0;
00019 }
00020
00021 NetRequestParameter::~NetRequestParameter()
00022 {
00023 for(int i = 0; i < NbParameter; i++)
00024 {
00025 delete [] Parameters[i]->Label;
00026
00027 delete [] Parameters[i]->Data;
00028
00029 delete Parameters[i];
00030 }
00031 Parameters.clear();
00032 }
00033
00034 void NetRequestParameter::SetName(char *pName, int iPos)
00035 {
00036 strncpy(Name, pName, NET_NAME);
00037 Pos = iPos;
00038 }
00039
00040 int NetRequestParameter::Add(char *pLabel, char *pData)
00041 {
00042 int i;
00043
00044 Parameters.push_back(new NetRequestData);
00045
00046 if(!Parameters[NbParameter])
00047 return ERROR_C_MEMORY;
00048 else
00049 {
00050 i = strlen(pLabel);
00051 Parameters[NbParameter]->Label = new char[i + 1];
00052 strcpy(Parameters[NbParameter]->Label, pLabel);
00053 Parameters[NbParameter]->Size = strlen(pData);
00054 Parameters[NbParameter]->Data = new char[Parameters[NbParameter]->Size + 1];
00055 strcpy(Parameters[NbParameter]->Data, pData);
00056 }
00057
00058 NbParameter++;
00059
00060 return ERROR_C_NOERROR;
00061 }
00062
00063 int NetRequestParameter::Send(char *pBuffer, ...)
00064 {
00065 char Temp[NET_BUFFER];
00066 va_list args;
00067
00068 va_start(args, pBuffer);
00069 vsprintf(Temp, pBuffer, args);
00070 va_end(args);
00071
00072 return Connect->Send(Temp);
00073 };