#include <CigiWeatherCondRespV3.h>
Inheritance diagram for CigiWeatherCondRespV3:
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) |
Definition at line 58 of file CigiWeatherCondRespV3.h.
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] |
int CigiWeatherCondRespV3::Pack | ( | CigiBasePacket * | Base, | |
Cigi_uint8 * | Buff, | |||
void * | Spec | |||
) | const [virtual] |
The virtual Pack function for CIGI 3
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. |
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
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. |
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 }