00001 00052 #if !defined(_CIGI_BASE_MARITIME_SURFACE_RESP_INCLUDED_) 00053 #define _CIGI_BASE_MARITIME_SURFACE_RESP_INCLUDED_ 00054 00055 #include "CigiBasePacket.h" 00056 00057 // ==================================================================== 00058 // preprocessor definitions 00059 // ==================================================================== 00060 00061 #define CIGI_MARITIME_SURFACE_RESP_PACKET_ID_V3 111 00062 #define CIGI_MARITIME_SURFACE_RESP_PACKET_SIZE_V3 16 00063 00064 00065 class CigiMaritimeSurfaceRespV3; 00066 00067 00068 class CIGI_SPEC CigiBaseMaritimeSurfaceResp : public CigiBasePacket 00069 { 00070 00071 friend class CigiMaritimeSurfaceRespV3; 00072 00073 public: 00074 00075 //==> Management 00076 00077 //========================================================= 00080 CigiBaseMaritimeSurfaceResp(); 00081 00082 //========================================================= 00085 virtual ~CigiBaseMaritimeSurfaceResp(); 00086 00087 00088 //==> Buffer Packing/Unpacking 00089 00090 //========================================================= 00101 virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0; 00102 00103 //========================================================= 00113 virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0; 00114 00115 //========================================================= 00127 virtual int GetCnvt(CigiVersionID &CnvtVersion, 00128 CigiCnvtInfoType::Type &CnvtInfo); 00129 00130 00131 00132 //==> Accessing Member Variable Values functions 00133 00134 //+> RequestID 00135 00136 //========================================================= 00143 int SetRequestID(const Cigi_uint8 RequestIDIn, bool bndchk=true) 00144 { 00145 RequestID = RequestIDIn; 00146 return(CIGI_SUCCESS); 00147 } 00148 00149 //========================================================= 00152 Cigi_uint8 GetRequestID(void) const { return(RequestID); } 00153 00154 00155 //+> SurfaceHeight 00156 00157 //========================================================= 00164 int SetSurfaceHeight(const float SurfaceHeightIn, bool bndchk=true) 00165 { 00166 SurfaceHeight = SurfaceHeightIn; 00167 return(CIGI_SUCCESS); 00168 } 00169 00170 //========================================================= 00173 float GetSurfaceHeight(void) const { return(SurfaceHeight); } 00174 00175 00176 //+> WaterTemp 00177 00178 //========================================================= 00185 int SetWaterTemp(const float WaterTempIn, bool bndchk=true) 00186 { 00187 WaterTemp = WaterTempIn; 00188 return(CIGI_SUCCESS); 00189 } 00190 00191 //========================================================= 00194 float GetWaterTemp(void) const { return(WaterTemp); } 00195 00196 00197 //+> Clarity 00198 00199 //========================================================= 00206 int SetClarity(const float ClarityIn, bool bndchk=true); 00207 00208 //========================================================= 00211 float GetClarity(void) const { return(Clarity); } 00212 00213 00214 00215 protected: 00216 00217 //==> Member variables 00218 00219 //========================================================= 00223 Cigi_uint8 RequestID; 00224 00225 //========================================================= 00229 float SurfaceHeight; 00230 00231 //========================================================= 00235 float WaterTemp; 00236 00237 //========================================================= 00241 float Clarity; 00242 00243 00244 }; 00245 00246 #endif // #if !defined(_CIGI_BASE_MARITIME_SURFACE_RESP_INCLUDED_)