CigiBasePacket.h

Go to the documentation of this file.
00001 
00059 #if !defined(_CIGI_BASE_PACKET_INCLUDED_)
00060 #define _CIGI_BASE_PACKET_INCLUDED_
00061 
00062 
00063 #include "CigiTypes.h"
00064 #include "CigiErrorCodes.h"
00065 #include "CigiCnvtInfoType.h"
00066 #include "CigiVersionID.h"
00067 
00068 
00069 
00070 //=========================================================
00073 class CIGI_SPEC CigiBasePacket  
00074 {
00075 public:
00076 
00077    //=========================================================
00080    virtual ~CigiBasePacket() { };
00081 
00082    //==> Buffer Packing/Unpacking
00083 
00084    //=========================================================
00095         virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00096 
00097    //=========================================================
00107         virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00108 
00109    //=========================================================
00123         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00124                        CigiCnvtInfoType::Type &CnvtInfo)
00125    {
00126       CnvtInfo.ProcID = CigiProcessType::ProcStd;
00127       CnvtInfo.CnvtPacketID = PacketID;
00128 
00129       return(CIGI_SUCCESS);
00130    }
00131 
00132    //=========================================================
00136    Cigi_uint8 GetPacketID(void) const { return(PacketID); }
00137 
00138    //=========================================================
00142    Cigi_uint8 GetPacketSize(void) const { return(PacketSize); }
00143 
00144    //=========================================================
00148    Cigi_uint8 GetVersion(void) const { return(Version); }
00149 
00150    //=========================================================
00154    Cigi_uint8 GetMinorVersion(void) const { return(MinorVersion); }
00155 
00156 
00157 protected:
00158 
00159    //=========================================================
00162         Cigi_uint8 PacketID;
00163 
00164    //=========================================================
00167         Cigi_uint8 PacketSize;
00168 
00169    //=========================================================
00172         Cigi_uint8 Version;
00173 
00174    //=========================================================
00177         Cigi_uint8 MinorVersion;
00178 
00179 };
00180 
00181 #endif // !defined(_CIGI_BASE_PACKET_INCLUDED_)

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