00001
00063 #if !defined(_CIGI_SHORT_COMP_CTRL_V3_3_INCLUDED_)
00064 #define _CIGI_SHORT_COMP_CTRL_V3_3_INCLUDED_
00065
00066 #include "CigiBaseCompCtrl.h"
00067
00068
00069
00070 class CIGI_SPEC CigiShortCompCtrlV3_3 : public CigiBaseCompCtrl
00071 {
00072
00073 public:
00074
00075
00076
00077
00080 CigiShortCompCtrlV3_3();
00081
00082
00085 virtual ~CigiShortCompCtrlV3_3();
00086
00087
00088
00089
00090
00101 virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const;
00102
00103
00113 virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec);
00114
00115
00127 virtual int GetCnvt(CigiVersionID &CnvtVersion,
00128 CigiCnvtInfoType::Type &CnvtInfo);
00129
00130
00131
00132
00133
00134
00135
00136
00143 int SetInstanceID(const Cigi_uint16 InstanceIDIn, bool bndchk=true)
00144 {
00145 InstanceID = InstanceIDIn;
00146 return(CIGI_SUCCESS);
00147 }
00148
00149
00152 Cigi_uint16 GetInstanceID(void) const { return(InstanceID); }
00153
00154
00155
00156
00157
00164 int SetCompState(const Cigi_uint8 CompStateIn, bool bndchk=true)
00165 {
00166 CompState = (Cigi_uint16)CompStateIn;
00167 return(CIGI_SUCCESS);
00168 }
00169
00170
00173 Cigi_uint8 GetCompState(void)
00174 {
00175 Cigi_uint8 tState = (Cigi_uint8)((CompState > 0x00ff) ?
00176 0x00ff : CompState);
00177
00178 return(tState);
00179 }
00180
00181
00182
00183
00184
00185
00206 int SetCompClassV3(const CompClassV3Grp CompClassV3In, bool bndchk=true);
00207
00208
00211 CompClassV3Grp GetCompClassV3(void) const { return(CompClassV3); }
00212
00213
00214
00215
00216
00225 int SetCompData(const Cigi_uint8 CompDataIn,
00226 const unsigned int Word,
00227 const BytePos Pos,
00228 bool bndchk=true);
00229
00230
00239 int SetCompData(const Cigi_int8 CompDataIn,
00240 const unsigned int Word,
00241 const BytePos Pos,
00242 bool bndchk=true);
00243
00244
00253 int SetCompData(const Cigi_uint16 CompDataIn,
00254 const unsigned int Word,
00255 const HalfWordPos Pos,
00256 bool bndchk=true);
00257
00258
00267 int SetCompData(const Cigi_int16 CompDataIn,
00268 const unsigned int Word,
00269 const HalfWordPos Pos,
00270 bool bndchk=true);
00271
00272
00280 int SetCompData(const Cigi_uint32 CompDataIn,
00281 const unsigned int Word,
00282 bool bndchk=true);
00283
00284
00292 int SetCompData(const Cigi_int32 CompDataIn,
00293 const unsigned int Word,
00294 bool bndchk=true);
00295
00296
00304 int SetCompData(const float CompDataIn,
00305 const unsigned int Word,
00306 bool bndchk=true);
00307
00308
00316 int SetCompData(const Cigi_uint64 CompDataIn,
00317 const unsigned int Pos,
00318 bool bndchk=true);
00319
00320
00328 int SetCompData(const double CompDataIn,
00329 const unsigned int Pos,
00330 bool bndchk=true);
00331
00332
00333
00339 Cigi_uint8 GetUCharCompData(const unsigned int Word,
00340 const BytePos Pos);
00341
00342
00348 Cigi_int8 GetCharCompData(const unsigned int Word,
00349 const BytePos Pos);
00350
00351
00357 Cigi_uint16 GetUShortCompData(const unsigned int Word,
00358 const HalfWordPos Pos);
00359
00360
00366 Cigi_int16 GetShortCompData(const unsigned int Word,
00367 const HalfWordPos Pos);
00368
00369
00374 Cigi_uint32 GetULongCompData(const unsigned int Word);
00375
00376
00381 Cigi_int32 GetLongCompData(const unsigned int Word);
00382
00383
00388 float GetFloatCompData(const unsigned int Word);
00389
00390
00395 Cigi_uint64 GetI64CompData(const unsigned int Pos);
00396
00397
00402 double GetDoubleCompData(const unsigned int Pos);
00403
00404
00405
00406
00407 protected:
00408
00409
00410 static const int CompClassCnvtSz = 16;
00411 static const CompAssocGrp CompClassV3xV1[16];
00412 static const CompClassV2Grp CompClassV3xV2[16];
00413
00414
00415 };
00416
00417 #endif // #if !defined(_CIGI_SHORT_COMP_CTRL_V3_3_INCLUDED_)