CigiMaritimeSurfaceRespV3 Class Reference

#include <CigiMaritimeSurfaceRespV3.h>

Inheritance diagram for CigiMaritimeSurfaceRespV3:

CigiBaseMaritimeSurfaceResp CigiBasePacket List of all members.

Public Member Functions

 CigiMaritimeSurfaceRespV3 ()
virtual ~CigiMaritimeSurfaceRespV3 ()
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 CigiMaritimeSurfaceRespV3.h.


Constructor & Destructor Documentation

CigiMaritimeSurfaceRespV3::CigiMaritimeSurfaceRespV3 (  ) 

General Constructor

Definition at line 67 of file CigiMaritimeSurfaceRespV3.cpp.

References CIGI_MARITIME_SURFACE_RESP_PACKET_ID_V3, CIGI_MARITIME_SURFACE_RESP_PACKET_SIZE_V3, CigiBaseMaritimeSurfaceResp::Clarity, CigiBasePacket::MinorVersion, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseMaritimeSurfaceResp::RequestID, CigiBaseMaritimeSurfaceResp::SurfaceHeight, CigiBasePacket::Version, and CigiBaseMaritimeSurfaceResp::WaterTemp.

00068 {
00069 
00070    PacketID = CIGI_MARITIME_SURFACE_RESP_PACKET_ID_V3;
00071    PacketSize = CIGI_MARITIME_SURFACE_RESP_PACKET_SIZE_V3;
00072    Version = 3;
00073    MinorVersion = 0;
00074 
00075    RequestID = 0;
00076    SurfaceHeight = 0.0;
00077    WaterTemp = 0.0;
00078    Clarity = 0.0;
00079 
00080 }

CigiMaritimeSurfaceRespV3::~CigiMaritimeSurfaceRespV3 (  )  [virtual]

General Destructor

Definition at line 85 of file CigiMaritimeSurfaceRespV3.cpp.

00086 {
00087 
00088 }


Member Function Documentation

int CigiMaritimeSurfaceRespV3::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 CigiBaseMaritimeSurfaceResp.

Definition at line 97 of file CigiMaritimeSurfaceRespV3.cpp.

References PackPointerUnion::c, CigiBaseMaritimeSurfaceResp::Clarity, PackPointerUnion::f, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseMaritimeSurfaceResp::RequestID, CigiBaseMaritimeSurfaceResp::SurfaceHeight, and CigiBaseMaritimeSurfaceResp::WaterTemp.

00098 {
00099    PackPointer CDta;
00100 
00101    CigiBaseMaritimeSurfaceResp * Data = ( CigiBaseMaritimeSurfaceResp *)Base;
00102 
00103    CDta.c = Buff;
00104 
00105    *CDta.c++ = PacketID;
00106    *CDta.c++ = PacketSize;
00107 
00108    *CDta.c++ = Data->RequestID;
00109 
00110    *CDta.c++ = 0;
00111 
00112    *CDta.f++ = Data->SurfaceHeight;
00113    *CDta.f++ = Data->WaterTemp;
00114    *CDta.f++ = Data->Clarity;
00115 
00116    return(PacketSize);
00117 
00118 }

int CigiMaritimeSurfaceRespV3::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 CigiBaseMaritimeSurfaceResp.

Definition at line 123 of file CigiMaritimeSurfaceRespV3.cpp.

References PackPointerUnion::c, CigiSwap4(), CigiBaseMaritimeSurfaceResp::Clarity, PackPointerUnion::f, CigiBasePacket::PacketSize, CigiBaseMaritimeSurfaceResp::RequestID, CigiBaseMaritimeSurfaceResp::SurfaceHeight, and CigiBaseMaritimeSurfaceResp::WaterTemp.

00124 {
00125    PackPointer CDta;
00126 
00127    CDta.c = Buff;
00128 
00129    CDta.c += 2;  // Step over packet id and size
00130 
00131    RequestID = *CDta.c++;
00132 
00133    CDta.c++;
00134 
00135    if(!Swap)
00136    {
00137       SurfaceHeight = *CDta.f++;
00138       WaterTemp = *CDta.f++;
00139       Clarity = *CDta.f++;
00140    }
00141    else
00142    {
00143       CigiSwap4(&SurfaceHeight, CDta.f++);
00144       CigiSwap4(&WaterTemp, CDta.f++);
00145       CigiSwap4(&Clarity, CDta.f++);
00146    }
00147 
00148    return(PacketSize);
00149 
00150 }


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