00001 00053 #if !defined(_CIGI_MESSAGE_INCLUDED_) 00054 #define _CIGI_MESSAGE_INCLUDED_ 00055 00056 #include <list> 00057 00058 #include "CigiAnimationTable.h" 00059 #include "CigiHoldEnvCtrl.h" 00060 #include "CigiMessageBuffer.h" 00061 00062 class CigiSession; 00063 00064 using namespace std; 00065 00066 //========================================================= 00069 class CIGI_SPEC CigiMessage 00070 { 00071 public: 00072 00073 friend class CigiSession; 00074 00075 00076 //==> Management 00077 00078 //========================================================= 00081 CigiMessage(); 00082 00083 //========================================================= 00086 virtual ~CigiMessage(); 00087 00088 00089 //==> Public Accessor functions 00090 00091 //========================================================= 00098 bool GetValidIGCtrlSOF() 00099 { 00100 bool Rslt = false; 00101 if(CrntMsgBuf != NULL) 00102 Rslt = CrntMsgBuf->IsValidIGCtrlSOF(); 00103 00104 return(Rslt); 00105 } 00106 00107 00108 //==> Processing Member functions 00109 00110 //========================================================= 00118 int CreateBuffer(const int NumBuf = 2, const int BufLen = 16384); 00119 00120 00121 protected: 00122 00123 //==> Member variables 00124 00125 //========================================================= 00128 list<CigiMessageBuffer *> Buffers; 00129 00130 //========================================================= 00133 list<CigiMessageBuffer *> AvailBuff; 00134 00135 //========================================================= 00138 CigiMessageBuffer *CrntMsgBuf; 00139 00140 //========================================================= 00144 CigiMessageBuffer *CrntFillBuf; 00145 00146 //========================================================= 00150 CigiMessageBuffer *PackagedMsg; 00151 00152 //========================================================= 00156 int BufferSize; 00157 00158 //========================================================= 00162 CigiAnimationTable *ATbl; 00163 00164 //========================================================= 00168 CigiHoldEnvCtrl EnvHoldObj; 00169 00170 //========================================================= 00173 CigiSession *Session; 00174 00175 00176 //==> Member Protected Functions 00177 00178 00179 //========================================================= 00183 void SetAnimationTable(CigiAnimationTable *AnimationTable) { ATbl = AnimationTable; } 00184 00185 00186 //========================================================= 00190 void SetSession(CigiSession *SessionIn) { Session = SessionIn; } 00191 00192 }; 00193 00194 #endif // !defined(_CIGI_MESSAGE_INCLUDED_)