CigiEnvCondReqV3 Class Reference

#include <CigiEnvCondReqV3.h>

Inheritance diagram for CigiEnvCondReqV3:

CigiBaseEnvCondReq CigiBasePacket List of all members.

Public Member Functions

 CigiEnvCondReqV3 ()
virtual ~CigiEnvCondReqV3 ()
virtual int Pack (CigiBasePacket *Base, Cigi_uint8 *Buff, void *Spec) const
virtual int Unpack (Cigi_uint8 *Buff, bool Swap, void *Spec)

Detailed Description

Definition at line 57 of file CigiEnvCondReqV3.h.


Constructor & Destructor Documentation

CigiEnvCondReqV3::CigiEnvCondReqV3 (  ) 

General Constructor

Definition at line 71 of file CigiEnvCondReqV3.cpp.

References CigiBaseEnvCondReq::Alt, CIGI_ENV_COND_REQ_PACKET_ID_V3, CIGI_ENV_COND_REQ_PACKET_SIZE_V3, CigiBaseEnvCondReq::Lat, CigiBaseEnvCondReq::Lon, CigiBaseEnvCondReq::Maritime, CigiBasePacket::MinorVersion, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseEnvCondReq::ReqID, CigiBaseEnvCondReq::ReqType, and CigiBasePacket::Version.

00072 {
00073 
00074    PacketID = CIGI_ENV_COND_REQ_PACKET_ID_V3;
00075    PacketSize = CIGI_ENV_COND_REQ_PACKET_SIZE_V3;
00076    Version = 3;
00077    MinorVersion = 0;
00078 
00079    ReqType = Maritime;
00080    ReqID = 0;
00081    Lat = 0.0;
00082    Lon = 0.0;
00083    Alt = 0.0;
00084 
00085 }

CigiEnvCondReqV3::~CigiEnvCondReqV3 (  )  [virtual]

General Destructor

Definition at line 90 of file CigiEnvCondReqV3.cpp.

00091 {
00092 
00093 }


Member Function Documentation

int CigiEnvCondReqV3::Pack ( CigiBasePacket Base,
Cigi_uint8 Buff,
void *  Spec 
) const [virtual]

The virtual Pack function for CIGI 3

Parameters:
Base - A pointer to the instance of the packet to be packed. (Downcast to CigiBasePacket)
Buff - A pointer to the current pack point.
Spec - A pointer to special data - This is not used in this class.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Implements CigiBaseEnvCondReq.

Definition at line 102 of file CigiEnvCondReqV3.cpp.

References CigiBaseEnvCondReq::Alt, PackPointerUnion::c, PackPointerUnion::d, PackPointerUnion::l, CigiBaseEnvCondReq::Lat, CigiBaseEnvCondReq::Lon, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseEnvCondReq::ReqID, and CigiBaseEnvCondReq::ReqType.

00103 {
00104    PackPointer CDta;
00105 
00106    CigiBaseEnvCondReq * Data = ( CigiBaseEnvCondReq *)Base;
00107 
00108    CDta.c = Buff;
00109 
00110    *CDta.c++ = PacketID;
00111    *CDta.c++ = PacketSize;
00112 
00113    *CDta.c++ = Data->ReqType & 0x0f;
00114 
00115    *CDta.c++ = Data->ReqID;
00116    *CDta.l++ = 0;
00117 
00118    *CDta.d++ = Data->Lat;
00119    *CDta.d++ = Data->Lon;
00120    *CDta.d++ = Data->Alt;
00121 
00122    return(PacketSize);
00123 
00124 }

int CigiEnvCondReqV3::Unpack ( Cigi_uint8 Buff,
bool  Swap,
void *  Spec 
) [virtual]

The virtual Unpack function for CIGI 3

Parameters:
Buff - A pointer to the current pack point.
Swap - N/A for V1 & V2
Spec - A pointer to special data - This is not used in this class.
Returns:
This returns CIGI_SUCCESS or an error code defined in CigiErrorCodes.h

Implements CigiBaseEnvCondReq.

Definition at line 129 of file CigiEnvCondReqV3.cpp.

References CigiBaseEnvCondReq::Alt, PackPointerUnion::c, CigiSwap8(), PackPointerUnion::d, PackPointerUnion::l, CigiBaseEnvCondReq::Lat, CigiBaseEnvCondReq::Lon, CigiBasePacket::PacketSize, CigiBaseEnvCondReq::ReqID, and CigiBaseEnvCondReq::ReqType.

00130 {
00131    PackPointer CDta;
00132 
00133    CDta.c = Buff;
00134 
00135    CDta.c += 2;  // Step over packet id and size
00136 
00137    ReqType = (ReqTypeGrp)(*CDta.c++ & 0x0f);
00138 
00139    ReqID = *CDta.c++;
00140 
00141    CDta.l++;
00142 
00143 
00144    if(!Swap)
00145    {
00146       Lat = *CDta.d++;
00147       Lon = *CDta.d++;
00148       Alt = *CDta.d++;
00149    }
00150    else
00151    {
00152       CigiSwap8(&Lat, CDta.d++);
00153       CigiSwap8(&Lon, CDta.d++);
00154       CigiSwap8(&Alt, CDta.d++);
00155    }
00156 
00157    return(PacketSize);
00158 
00159 }


The documentation for this class was generated from the following files:
Generated on Wed Apr 29 09:00:07 2009 for CCL by  doxygen 1.4.7