CigiCompCtrlV3.h

Go to the documentation of this file.
00001 
00067 #if !defined(_CIGI_COMP_CTRL_V3_INCLUDED_)
00068 #define _CIGI_COMP_CTRL_V3_INCLUDED_
00069 
00070 #include "CigiBaseCompCtrl.h"
00071 
00072 
00073 
00074 class CIGI_SPEC CigiCompCtrlV3 : public CigiBaseCompCtrl
00075 {
00076 
00077 public:
00078 
00079    //==> Management
00080 
00081    //=========================================================
00084    CigiCompCtrlV3();
00085 
00086    //=========================================================
00089    virtual ~CigiCompCtrlV3();
00090 
00091 
00092    //==> Buffer Packing/Unpacking
00093 
00094    //=========================================================
00105    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const;
00106 
00107    //=========================================================
00117    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec);
00118 
00119    //=========================================================
00131         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00132                        CigiCnvtInfoType::Type &CnvtInfo);
00133 
00134 
00135 
00136    //==> Accessing Member Variable Values functions
00137 
00138    //+> InstanceID
00139 
00140    //=========================================================
00147    int SetInstanceID(const Cigi_uint16 InstanceIDIn, bool bndchk=true)
00148    {
00149       InstanceID = InstanceIDIn;
00150       return(CIGI_SUCCESS);
00151    }
00152 
00153    //=========================================================
00156    Cigi_uint16 GetInstanceID(void) const { return(InstanceID); }
00157 
00158 
00159    //+> CompState
00160 
00161    //=========================================================
00168    int SetCompState(const Cigi_uint8 CompStateIn, bool bndchk=true)
00169    {
00170       CompState = (Cigi_uint16) CompStateIn;
00171       return(CIGI_SUCCESS);
00172    }
00173 
00174    //=========================================================
00177    Cigi_uint8 GetCompState(void)
00178    {
00179       Cigi_uint8 V3State = (Cigi_uint8)((CompState > 0x00ff) ? 0xff : CompState);
00180       return(V3State);
00181    }
00182 
00183 
00184    //+> CompClassV3
00185 
00186    //=========================================================
00207    int SetCompClassV3(const CompClassV3Grp CompClassV3In, bool bndchk=true);
00208 
00209    //=========================================================
00212    CompClassV3Grp GetCompClassV3(void) const { return(CompClassV3); }
00213 
00214 
00215    //+> CompData
00216 
00217    //=========================================================
00226    int SetCompData(const Cigi_uint8 CompDataIn,
00227                        const unsigned int Word,
00228                        const BytePos Pos,
00229                        bool bndchk=true);
00230 
00231    //=========================================================
00240    int SetCompData(const Cigi_int8 CompDataIn,
00241                        const unsigned int Word,
00242                        const BytePos Pos,
00243                        bool bndchk=true);
00244 
00245    //=========================================================
00254    int SetCompData(const Cigi_uint16 CompDataIn,
00255                        const unsigned int Word,
00256                        const HalfWordPos Pos,
00257                        bool bndchk=true);
00258 
00259    //=========================================================
00268    int SetCompData(const Cigi_int16 CompDataIn,
00269                        const unsigned int Word,
00270                        const HalfWordPos Pos,
00271                        bool bndchk=true);
00272 
00273    //=========================================================
00281    int SetCompData(const Cigi_uint32 CompDataIn,
00282                    const unsigned int Word,
00283                    bool bndchk=true);
00284 
00285    //=========================================================
00293    int SetCompData(const Cigi_int32 CompDataIn,
00294                    const unsigned int Word,
00295                    bool bndchk=true);
00296 
00297    //=========================================================
00305    int SetCompData(const float CompDataIn,
00306                    const unsigned int Word,
00307                    bool bndchk=true);
00308 
00309    //=========================================================
00317    int SetCompData(const Cigi_uint64 CompDataIn,
00318                    const unsigned int Pos,
00319                    bool bndchk=true);
00320 
00321    //=========================================================
00329    int SetCompData(const double CompDataIn,
00330                    const unsigned int Pos,
00331                    bool bndchk=true);
00332 
00333 
00334    //=========================================================
00340    Cigi_uint8 GetUCharCompData(const unsigned int Word,
00341                                   const BytePos Pos);
00342 
00343    //=========================================================
00349    Cigi_int8 GetCharCompData(const unsigned int Word,
00350                         const BytePos Pos);
00351 
00352    //=========================================================
00358    Cigi_uint16 GetUShortCompData(const unsigned int Word,
00359                                     const HalfWordPos Pos);
00360 
00361    //=========================================================
00367    Cigi_int16 GetShortCompData(const unsigned int Word,
00368                           const HalfWordPos Pos);
00369 
00370    //=========================================================
00375    Cigi_uint32 GetULongCompData(const unsigned int Word);
00376 
00377    //=========================================================
00382    Cigi_int32 GetLongCompData(const unsigned int Word);
00383 
00384    //=========================================================
00389    float GetFloatCompData(const unsigned int Word);
00390 
00391    //=========================================================
00396    Cigi_uint64 GetI64CompData(const unsigned int Pos);
00397 
00398    //=========================================================
00403    double GetDoubleCompData(const unsigned int Pos);
00404 
00405 
00406 
00407 
00408 protected:
00409 
00410    //==> Conversion Tables
00411    static const int CompClassCnvtSz = 14;
00412    static const CompAssocGrp CompClassV3xV1[CompClassCnvtSz];
00413    static const CompClassV2Grp CompClassV3xV2[CompClassCnvtSz];
00414 
00415 
00416 };
00417 
00418 #endif // #if !defined(_CIGI_COMP_CTRL_V3_INCLUDED_)

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