00001
00062 #if !defined(_CIGI_COMP_CTRL_V2_INCLUDED_)
00063 #define _CIGI_COMP_CTRL_V2_INCLUDED_
00064
00065 #include "CigiBaseCompCtrl.h"
00066
00067
00068
00069 class CIGI_SPEC CigiCompCtrlV2 : public CigiBaseCompCtrl
00070 {
00071
00072 public:
00073
00074
00075
00076
00079 CigiCompCtrlV2();
00080
00081
00084 virtual ~CigiCompCtrlV2();
00085
00086
00087
00088
00089
00100 virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const;
00101
00102
00112 virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec);
00113
00114
00126 virtual int GetCnvt(CigiVersionID &CnvtVersion,
00127 CigiCnvtInfoType::Type &CnvtInfo);
00128
00129
00130
00131
00132
00133
00134
00135
00142 int SetInstanceID(const Cigi_uint16 InstanceIDIn, bool bndchk=true)
00143 {
00144 InstanceID = InstanceIDIn;
00145 return(CIGI_SUCCESS);
00146 }
00147
00148
00151 Cigi_uint16 GetInstanceID(void) const { return(InstanceID); }
00152
00153
00154
00155
00156
00163 int SetCompState(const Cigi_uint16 CompStateIn, bool bndchk=true)
00164 {
00165 CompState = CompStateIn;
00166 return(CIGI_SUCCESS);
00167 }
00168
00169
00172 Cigi_uint16 GetCompState(void) const { return(CompState); }
00173
00174
00175
00176
00177
00190 int SetCompClassV2(const CompClassV2Grp CompClassV2In, bool bndchk=true);
00191
00192
00195 CompClassV2Grp GetCompClassV2(void) const { return(CompClassV2); }
00196
00197
00198
00199
00200
00209 int SetCompData(const Cigi_uint8 CompDataIn,
00210 const unsigned int Word,
00211 const BytePos Pos,
00212 bool bndchk=true);
00213
00214
00223 int SetCompData(const Cigi_int8 CompDataIn,
00224 const unsigned int Word,
00225 const BytePos Pos,
00226 bool bndchk=true);
00227
00228
00237 int SetCompData(const Cigi_uint16 CompDataIn,
00238 const unsigned int Word,
00239 const HalfWordPos Pos,
00240 bool bndchk=true);
00241
00242
00251 int SetCompData(const Cigi_int16 CompDataIn,
00252 const unsigned int Word,
00253 const HalfWordPos Pos,
00254 bool bndchk=true);
00255
00256
00264 int SetCompData(const Cigi_uint32 CompDataIn,
00265 const unsigned int Word,
00266 bool bndchk=true);
00267
00268
00276 int SetCompData(const Cigi_int32 CompDataIn,
00277 const unsigned int Word,
00278 bool bndchk=true);
00279
00280
00288 int SetCompData(const float CompDataIn,
00289 const unsigned int Word,
00290 bool bndchk=true);
00291
00292
00300 int SetCompData(const Cigi_uint64 CompDataIn,
00301 const unsigned int Pos,
00302 bool bndchk=true);
00303
00304
00312 int SetCompData(const double CompDataIn,
00313 const unsigned int Pos,
00314 bool bndchk=true);
00315
00316
00317
00323 Cigi_uint8 GetUCharCompData(const unsigned int Word,
00324 const BytePos Pos);
00325
00326
00332 Cigi_int8 GetCharCompData(const unsigned int Word,
00333 const BytePos Pos);
00334
00335
00341 Cigi_uint16 GetUShortCompData(const unsigned int Word,
00342 const HalfWordPos Pos);
00343
00344
00350 Cigi_int16 GetShortCompData(const unsigned int Word,
00351 const HalfWordPos Pos);
00352
00353
00358 Cigi_uint32 GetULongCompData(const unsigned int Word);
00359
00360
00365 Cigi_int32 GetLongCompData(const unsigned int Word);
00366
00367
00372 float GetFloatCompData(const unsigned int Word);
00373
00374
00379 Cigi_uint64 GetI64CompData(const unsigned int Pos);
00380
00381
00386 double GetDoubleCompData(const unsigned int Pos);
00387
00388
00389
00390 protected:
00391
00392
00393 static const int CompClassCnvtSz = 6;
00394 static const CompAssocGrp CompClassV2xV1[CompClassCnvtSz];
00395 static const CompClassV3Grp CompClassV2xV3[CompClassCnvtSz];
00396
00397
00398
00399 };
00400
00401 #endif // #if !defined(_CIGI_COMP_CTRL_V2_INCLUDED_)