CigiWeatherCondRespV3 Class Reference

#include <CigiWeatherCondRespV3.h>

Inheritance diagram for CigiWeatherCondRespV3:

CigiBaseWeatherCondResp CigiBasePacket List of all members.

Public Member Functions

 CigiWeatherCondRespV3 ()
virtual ~CigiWeatherCondRespV3 ()
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 58 of file CigiWeatherCondRespV3.h.


Constructor & Destructor Documentation

CigiWeatherCondRespV3::CigiWeatherCondRespV3 (  ) 

General Constructor

Definition at line 67 of file CigiWeatherCondRespV3.cpp.

References CigiBaseWeatherCondResp::AirTemp, CigiBaseWeatherCondResp::BaroPress, CIGI_WEATHER_COND_RESP_PACKET_ID_V3, CIGI_WEATHER_COND_RESP_PACKET_SIZE_V3, CigiBaseWeatherCondResp::HorizWindSp, CigiBaseWeatherCondResp::Humidity, CigiBasePacket::MinorVersion, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseWeatherCondResp::RequestID, CigiBasePacket::Version, CigiBaseWeatherCondResp::VertWindSp, CigiBaseWeatherCondResp::Visibility, and CigiBaseWeatherCondResp::WindDir.

00068 {
00069 
00070    PacketID = CIGI_WEATHER_COND_RESP_PACKET_ID_V3;
00071    PacketSize = CIGI_WEATHER_COND_RESP_PACKET_SIZE_V3;
00072    Version = 3;
00073    MinorVersion = 0;
00074 
00075    RequestID = 0;
00076    Humidity = 0;
00077    AirTemp = 0.0;
00078    Visibility = 0.0;
00079    HorizWindSp = 0.0;
00080    VertWindSp = 0.0;
00081    WindDir = 0.0;
00082    BaroPress = 0.0;
00083 
00084 }

CigiWeatherCondRespV3::~CigiWeatherCondRespV3 (  )  [virtual]

General Destructor

Definition at line 89 of file CigiWeatherCondRespV3.cpp.

00090 {
00091 
00092 }


Member Function Documentation

int CigiWeatherCondRespV3::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 CigiBaseWeatherCondResp.

Definition at line 101 of file CigiWeatherCondRespV3.cpp.

References CigiBaseWeatherCondResp::AirTemp, CigiBaseWeatherCondResp::BaroPress, PackPointerUnion::c, PackPointerUnion::f, CigiBaseWeatherCondResp::HorizWindSp, CigiBaseWeatherCondResp::Humidity, PackPointerUnion::l, CigiBasePacket::PacketID, CigiBasePacket::PacketSize, CigiBaseWeatherCondResp::RequestID, CigiBaseWeatherCondResp::VertWindSp, CigiBaseWeatherCondResp::Visibility, and CigiBaseWeatherCondResp::WindDir.

00102 {
00103    PackPointer CDta;
00104 
00105    CigiBaseWeatherCondResp * Data = ( CigiBaseWeatherCondResp *)Base;
00106 
00107    CDta.c = Buff;
00108 
00109    *CDta.c++ = PacketID;
00110    *CDta.c++ = PacketSize;
00111 
00112    *CDta.c++ = Data->RequestID;
00113    *CDta.c++ = Data->Humidity;
00114    *CDta.f++ = Data->AirTemp;
00115    *CDta.f++ = Data->Visibility;
00116    *CDta.f++ = Data->HorizWindSp;
00117    *CDta.f++ = Data->VertWindSp;
00118    *CDta.f++ = Data->WindDir;
00119    *CDta.f++ = Data->BaroPress;
00120 
00121    *CDta.l++ = 0;
00122 
00123    return(PacketSize);
00124 
00125 }

int CigiWeatherCondRespV3::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 CigiBaseWeatherCondResp.

Definition at line 130 of file CigiWeatherCondRespV3.cpp.

References CigiBaseWeatherCondResp::AirTemp, CigiBaseWeatherCondResp::BaroPress, PackPointerUnion::c, CigiSwap4(), PackPointerUnion::f, CigiBaseWeatherCondResp::HorizWindSp, CigiBaseWeatherCondResp::Humidity, CigiBasePacket::PacketSize, CigiBaseWeatherCondResp::RequestID, CigiBaseWeatherCondResp::VertWindSp, CigiBaseWeatherCondResp::Visibility, and CigiBaseWeatherCondResp::WindDir.

00131 {
00132    PackPointer CDta;
00133 
00134    CDta.c = Buff;
00135 
00136    CDta.c += 2;  // Step over packet id and size
00137 
00138    RequestID = *CDta.c++;
00139    Humidity = *CDta.c++;
00140 
00141    if(!Swap)
00142    {
00143       AirTemp = *CDta.f++;
00144       Visibility = *CDta.f++;
00145       HorizWindSp = *CDta.f++;
00146       VertWindSp = *CDta.f++;
00147       WindDir = *CDta.f++;
00148       BaroPress = *CDta.f++;
00149    }
00150    else
00151    {
00152       CigiSwap4(&AirTemp, CDta.f++);
00153       CigiSwap4(&Visibility, CDta.f++);
00154       CigiSwap4(&HorizWindSp, CDta.f++);
00155       CigiSwap4(&VertWindSp, CDta.f++);
00156       CigiSwap4(&WindDir, CDta.f++);
00157       CigiSwap4(&BaroPress, CDta.f++);
00158    }
00159 
00160    return(PacketSize);
00161 
00162 }


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