CigiBaseSymbolClone.h

Go to the documentation of this file.
00001 
00039 #if !defined(_CIGI_BASE_SYMBOL_CLONE_INCLUDED_)
00040 #define _CIGI_BASE_SYMBOL_CLONE_INCLUDED_
00041 
00042 
00043 #include "CigiBasePacket.h"
00044 
00045 // ====================================================================
00046 // preprocessor definitions
00047 // ====================================================================
00048 
00049 #define CIGI_SYMBOL_CLONE_PACKET_ID_V3_3 33
00050 #define CIGI_SYMBOL_CLONE_PACKET_SIZE_V3_3 8
00051 
00052 
00053 class CigiSymbolCloneV3_3;
00054 
00055 
00056 //=========================================================
00059 class CIGI_SPEC CigiBaseSymbolClone :
00060    public CigiBasePacket
00061 {
00062 
00063    friend class CigiSymbolCloneV3_3;
00064 
00065 public:
00066 
00067 
00068    //=========================================================
00072    enum SymbolSourceGrp
00073    {
00074       SymbolSrc=0,
00075       SymbolTemplateSrc=1
00076    };
00077 
00078 
00079 
00080    //==> Management
00081 
00082    //=========================================================
00085    CigiBaseSymbolClone(void);
00086 
00087    //=========================================================
00090    virtual ~CigiBaseSymbolClone(void);
00091 
00092 
00093    //==> Buffer Packing/Unpacking
00094 
00095    //=========================================================
00106    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00107 
00108    //=========================================================
00118    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00119 
00120    //=========================================================
00132         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00133                        CigiCnvtInfoType::Type &CnvtInfo);
00134 
00135 
00136 
00137    //==> Accessing Member Variable Values functions
00138 
00139    //+> SymbolID
00140 
00141    //=========================================================
00148    int SetSymbolID(const Cigi_uint16 SymbolIDIn, bool bndchk=true)
00149    {
00150       SymbolID = SymbolIDIn;
00151       return(CIGI_SUCCESS);
00152    }
00153 
00154    //=========================================================
00158    Cigi_uint16 GetSymbolID(void) const { return(SymbolID); }
00159    
00160 
00161    //+> SourceType
00162 
00163    //=========================================================
00172    int SetSourceType(const SymbolSourceGrp SourceTypeIn, bool bndchk=true);
00173 
00174    //=========================================================
00178    SymbolSourceGrp GetSourceType(void) const { return(SourceType); }
00179 
00180 
00181    //+> SourceID
00182 
00183    //=========================================================
00191    int SetSourceID(const Cigi_uint16 SourceIDIn, bool bndchk=true)
00192    {
00193       SourceID = SourceIDIn;
00194       return(CIGI_SUCCESS);
00195    }
00196 
00197    //=========================================================
00202    Cigi_uint16 GetSourceID(void) const { return(SourceID); }
00203    
00204 
00205 
00206 protected:
00207 
00208    //==> Member variables
00209 
00210    //=========================================================
00214    Cigi_uint16 SymbolID;
00215 
00216    //=========================================================
00223    SymbolSourceGrp SourceType;
00224 
00225    //=========================================================
00229    Cigi_uint16 SourceID;
00230 
00231 
00232 };
00233 
00234 
00235 
00236 #endif   //  #if !defined(_CIGI_BASE_SYMBOL_CLONE_INCLUDED_)
00237 

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