CigiBaseHatHotReq.h

Go to the documentation of this file.
00001 
00059 #if !defined(_CIGI_BASE_HAT_HOT_REQ_INCLUDED_)
00060 #define _CIGI_BASE_HAT_HOT_REQ_INCLUDED_
00061 
00062 #include "CigiBasePacket.h"
00063 
00064 // ====================================================================
00065 // preprocessor definitions
00066 // ====================================================================
00067 
00068 #define CIGI_HAT_REQ_PACKET_ID_V1 41
00069 #define CIGI_HAT_REQ_PACKET_SIZE_V1 24
00070 
00071 #define CIGI_HAT_REQ_PACKET_ID_V2 41
00072 #define CIGI_HAT_REQ_PACKET_SIZE_V2 32
00073 
00074 #define CIGI_HOT_REQ_PACKET_ID_V2 44
00075 #define CIGI_HOT_REQ_PACKET_SIZE_V2 24
00076 
00077 #define CIGI_HAT_HOT_REQ_PACKET_ID_V3 24
00078 #define CIGI_HAT_HOT_REQ_PACKET_SIZE_V3 32
00079 
00080 #define CIGI_HAT_HOT_REQ_PACKET_ID_V3_2 24
00081 #define CIGI_HAT_HOT_REQ_PACKET_SIZE_V3_2 32
00082 
00083 
00084 
00085 class CigiHatReqV1;
00086 class CigiHatReqV2;
00087 class CigiHotReqV2;
00088 class CigiHatHotReqV3;
00089 class CigiHatHotReqV3_2;
00090 
00091 
00092 class CIGI_SPEC CigiBaseHatHotReq : public CigiBasePacket
00093 {
00094 
00095 friend class CigiHatReqV1;
00096 friend class CigiHatReqV2;
00097 friend class CigiHotReqV2;
00098 friend class CigiHatHotReqV3;
00099 friend class CigiHatHotReqV3_2;
00100 
00101 public:
00102 
00103    //=========================================================
00106    enum ReqTypeGrp
00107    {
00108       HAT=0,
00109       HOT=1,
00110       Extended=2
00111    };
00112 
00113    //=========================================================
00116    enum CoordSysGrp
00117    {
00118       Geodetic=0,
00119       Entity=1
00120    };
00121 
00122 
00123 
00124 
00125    //==> Management
00126 
00127    //=========================================================
00130    CigiBaseHatHotReq();
00131 
00132    //=========================================================
00135    virtual ~CigiBaseHatHotReq();
00136 
00137 
00138    //==> Buffer Packing/Unpacking
00139 
00140    //=========================================================
00151    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00152 
00153    //=========================================================
00163    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00164 
00165 
00166 
00167    //==> Accessing Member Variable Values functions
00168 
00169    //+> HatHotID
00170 
00171    //=========================================================
00178    int SetHatHotID(const Cigi_uint16 HatHotIDIn, bool bndchk=true)
00179    {
00180       HatHotID = HatHotIDIn;
00181       return(CIGI_SUCCESS);
00182    }
00183 
00184    //=========================================================
00187    Cigi_uint16 GetHatHotID(void) const { return(HatHotID); }
00188 
00189 
00190    //+> Lat
00191 
00192    //=========================================================
00199    int SetLat(const double LatIn, bool bndchk=true);
00200 
00201    //=========================================================
00204    double GetLat(void) const { return(LatOrXoff); }
00205 
00206 
00207    //+> Lon
00208 
00209    //=========================================================
00216    int SetLon(const double LonIn, bool bndchk=true);
00217 
00218    //=========================================================
00221    double GetLon(void) const { return(LonOrYoff); }
00222 
00223 
00224 
00225 protected:
00226 
00227    //==> Member variables
00228 
00229    //=========================================================
00233    Cigi_uint16 HatHotID;
00234 
00235    //=========================================================
00242    ReqTypeGrp ReqType;
00243 
00244    //=========================================================
00251    CoordSysGrp SrcCoordSys;
00252 
00253    //=========================================================
00258    Cigi_uint8 UpdatePeriod;
00259 
00260    //=========================================================
00264    Cigi_uint16 EntityID;
00265 
00266    //=========================================================
00272    double LatOrXoff;
00273 
00274    //=========================================================
00280    double LonOrYoff;
00281 
00282    //=========================================================
00288    double AltOrZoff;
00289 
00290    //=========================================================
00294    bool IsValidV1or2;
00295 
00296 
00297 };
00298 
00299 #endif // #if !defined(_CIGI_BASE_HAT_HOT_REQ_INCLUDED_)

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