CigiMessage.cpp

Go to the documentation of this file.
00001 
00049 #define _EXPORT_CCL_
00050 
00051 #include "CigiMessage.h"
00052 
00053 #include <stdlib.h>
00054 
00055 // ====================================================================
00056 // Construction/Destruction
00057 // ====================================================================
00058 
00059 // ================================================
00060 // CigiMessage
00061 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00062 CigiMessage::CigiMessage()
00063 : BufferSize(0)
00064 , CrntMsgBuf(NULL)
00065 , CrntFillBuf(NULL)
00066 , PackagedMsg(NULL)
00067 , ATbl(NULL)
00068 , Session(NULL)
00069 {
00070 
00071 }
00072 
00073 // ================================================
00074 // ~CigiMessage
00075 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00076 CigiMessage::~CigiMessage()
00077 {
00078 
00079    if(Buffers.size() > 0)
00080    {
00081       list<CigiMessageBuffer *>::iterator iBuf;
00082       for(iBuf=Buffers.begin();iBuf!=Buffers.end();iBuf++)
00083       {
00084          delete (*iBuf);
00085       }
00086       Buffers.clear();
00087    }
00088 
00089    if(AvailBuff.size() > 0)
00090    {
00091       list<CigiMessageBuffer *>::iterator iBuf;
00092       for(iBuf=AvailBuff.begin();iBuf!=AvailBuff.end();iBuf++)
00093       {
00094          delete (*iBuf);
00095       }
00096       AvailBuff.clear();
00097    }
00098 
00099 }
00100 
00101 
00102 // ====================================================================
00103 // Processing
00104 // ====================================================================
00105 
00106 // ================================================
00107 // CreateBuffer
00108 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00109 int CigiMessage::CreateBuffer(const int NumBuf, const int BufLen)
00110 {
00111    if(BufferSize <= 0)
00112       BufferSize = BufLen;
00113 
00114    int BuffCnt = AvailBuff.size();
00115    int AddBuff = 0;
00116    if(BuffCnt < NumBuf)
00117       AddBuff = NumBuf - BuffCnt;
00118 
00119    if(AddBuff > 0)
00120    {
00121       for(int ndx=0;ndx<AddBuff;ndx++)
00122       {
00123          CigiMessageBuffer *NewBuff = new CigiMessageBuffer(BufferSize);
00124          AvailBuff.push_back(NewBuff);
00125       }
00126    }
00127 
00128    return(CIGI_SUCCESS);
00129 
00130 }

Generated on Wed Apr 29 08:59:59 2009 for CCL by  doxygen 1.4.7