00001 00055 #if !defined(_CIGI_BASE_COLL_DET_VOL_RESP_INCLUDED_) 00056 #define _CIGI_BASE_COLL_DET_VOL_RESP_INCLUDED_ 00057 00058 #include "CigiBasePacket.h" 00059 00060 // ==================================================================== 00061 // preprocessor definitions 00062 // ==================================================================== 00063 00064 #define CIGI_COLL_DET_VOL_RESP_PACKET_ID_V2 107 00065 #define CIGI_COLL_DET_VOL_RESP_PACKET_SIZE_V2 8 00066 00067 #define CIGI_COLL_DET_VOL_RESP_PACKET_ID_V3 114 00068 #define CIGI_COLL_DET_VOL_RESP_PACKET_SIZE_V3 16 00069 00070 00071 class CigiCollDetVolRespV2; 00072 class CigiCollDetVolRespV3; 00073 00074 00075 class CIGI_SPEC CigiBaseCollDetVolResp : public CigiBasePacket 00076 { 00077 00078 friend class CigiCollDetVolRespV2; 00079 friend class CigiCollDetVolRespV3; 00080 00081 public: 00082 00083 //========================================================= 00086 enum CollTypeGrp 00087 { 00088 NonEntity=0, 00089 Entity=1 00090 }; 00091 00092 00093 00094 00095 //==> Management 00096 00097 //========================================================= 00100 CigiBaseCollDetVolResp(); 00101 00102 //========================================================= 00105 virtual ~CigiBaseCollDetVolResp(); 00106 00107 00108 //==> Buffer Packing/Unpacking 00109 00110 //========================================================= 00121 virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0; 00122 00123 //========================================================= 00133 virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0; 00134 00135 //========================================================= 00147 virtual int GetCnvt(CigiVersionID &CnvtVersion, 00148 CigiCnvtInfoType::Type &CnvtInfo); 00149 00150 00151 00152 //==> Accessing Member Variable Values functions 00153 00154 //+> EntityID 00155 00156 //========================================================= 00163 int SetEntityID(const Cigi_uint16 EntityIDIn, bool bndchk=true) 00164 { 00165 EntityID = EntityIDIn; 00166 return(CIGI_SUCCESS); 00167 } 00168 00169 //========================================================= 00172 Cigi_uint16 GetEntityID(void) const { return(EntityID); } 00173 00174 00175 //+> CollType 00176 00177 //========================================================= 00186 int SetCollType(const CollTypeGrp CollTypeIn, bool bndchk=true); 00187 00188 //========================================================= 00191 CollTypeGrp GetCollType(void) const { return(CollType); } 00192 00193 00194 //+> CollEntityID 00195 00196 //========================================================= 00203 int SetCollEntityID(const Cigi_uint16 CollEntityIDIn, bool bndchk=true) 00204 { 00205 CollEntityID = CollEntityIDIn; 00206 return(CIGI_SUCCESS); 00207 } 00208 00209 //========================================================= 00212 Cigi_uint16 GetCollEntityID(void) const { return(CollEntityID); } 00213 00214 00215 00216 protected: 00217 00218 //==> Member variables 00219 00220 //========================================================= 00224 Cigi_uint16 EntityID; 00225 00226 //========================================================= 00230 Cigi_uint8 VolID; 00231 00232 //========================================================= 00239 CollTypeGrp CollType; 00240 00241 //========================================================= 00245 Cigi_uint16 CollEntityID; 00246 00247 //========================================================= 00251 Cigi_uint8 CollVolID; 00252 00253 00254 }; 00255 00256 #endif // #if !defined(_CIGI_BASE_COLL_DET_VOL_RESP_INCLUDED_)