00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- 00002 00003 // -- BEGIN LICENSE BLOCK ---------------------------------------------- 00004 00024 // -- END LICENSE BLOCK ------------------------------------------------ 00025 00026 //---------------------------------------------------------------------- 00033 //---------------------------------------------------------------------- 00034 00035 #ifndef SICK_SAFETYSCANNERS_DATASTRUCTURE_DATAHEADER_H 00036 #define SICK_SAFETYSCANNERS_DATASTRUCTURE_DATAHEADER_H 00037 00038 #include <stdint.h> 00039 00040 namespace sick { 00041 namespace datastructure { 00042 00046 class DataHeader 00047 { 00048 public: 00052 DataHeader(); 00053 00059 uint8_t getVersionIndicator() const; 00060 00066 void setVersionIndicator(const uint8_t& version_indicator); 00067 00074 uint8_t getVersionMajorVersion() const; 00075 00081 void setVersionMajorVersion(const uint8_t& version_major_version); 00082 00089 uint8_t getVersionMinorVersion() const; 00095 void setVersionMinorVersion(const uint8_t& version_minor_version); 00096 00102 uint8_t getVersionRelease() const; 00108 void setVersionRelease(const uint8_t& version_release); 00109 00115 uint32_t getSerialNumberOfDevice() const; 00121 void setSerialNumberOfDevice(const uint32_t& serial_number_of_device); 00122 00128 uint32_t getSerialNumberOfSystemPlug() const; 00134 void setSerialNumberOfSystemPlug(const uint32_t& serial_number_of_system_plug); 00135 00141 uint8_t getChannelNumber() const; 00147 void setChannelNumber(const uint8_t& channel_number); 00148 00158 uint32_t getSequenceNumber() const; 00164 void setSequenceNumber(const uint32_t& sequence_number); 00165 00171 uint32_t getScanNumber() const; 00177 void setScanNumber(const uint32_t& scan_number); 00178 00189 uint16_t getTimestampDate() const; 00195 void setTimestampDate(const uint16_t& timestamp_date); 00196 00207 uint32_t getTimestampTime() const; 00213 void setTimestampTime(const uint32_t& timestamp_time); 00214 00223 uint16_t getGeneralSystemStateBlockOffset() const; 00229 void setGeneralSystemStateBlockOffset(const uint16_t& general_system_state_block_offset); 00230 00239 uint16_t getGeneralSystemStateBlockSize() const; 00245 void setGeneralSystemStateBlockSize(const uint16_t& general_system_state_block_size); 00246 00255 uint16_t getDerivedValuesBlockOffset() const; 00261 void setDerivedValuesBlockOffset(const uint16_t& derived_values_block_offset); 00262 00271 uint16_t getDerivedValuesBlockSize() const; 00277 void setDerivedValuesBlockSize(const uint16_t& derived_values_block_size); 00278 00287 uint16_t getMeasurementDataBlockOffset() const; 00293 void setMeasurementDataBlockOffset(const uint16_t& measurement_data_block_offset); 00294 00303 uint16_t getMeasurementDataBlockSize() const; 00309 void setMeasurementDataBlockSize(const uint16_t& measurement_data_block_size); 00310 00319 uint16_t getIntrusionDataBlockOffset() const; 00325 void setIntrusionDataBlockOffset(const uint16_t& intrusion_data_block_offset); 00326 00335 uint16_t getIntrusionDataBlockSize() const; 00341 void setIntrusionDataBlockSize(const uint16_t& intrusion_data_block_size); 00342 00351 uint16_t getApplicationDataBlockOffset() const; 00357 void setApplicationDataBlockOffset(const uint16_t& application_data_block_offset); 00358 00367 uint16_t getApplicationDataBlockSize() const; 00373 void setApplicationDataBlockSize(const uint16_t& application_data_block_size); 00374 00380 bool isEmpty() const; 00386 void setIsEmpty(bool is_empty); 00387 00388 private: 00389 bool m_is_empty; 00390 00391 uint8_t m_version_indicator; 00392 uint8_t m_version_major_version; 00393 uint8_t m_version_minor_version; 00394 uint8_t m_version_release; 00395 uint32_t m_serial_number_of_device; 00396 uint32_t m_serial_number_of_system_plug; 00397 uint8_t m_channel_number; 00398 uint32_t m_sequence_number; 00399 uint32_t m_scan_number; 00400 uint16_t m_timestamp_date; 00401 uint32_t m_timestamp_time; 00402 uint16_t m_general_system_state_block_offset; 00403 uint16_t m_general_system_state_block_size; 00404 uint16_t m_derived_values_block_offset; 00405 uint16_t m_derived_values_block_size; 00406 uint16_t m_measurement_data_block_offset; 00407 uint16_t m_measurement_data_block_size; 00408 uint16_t m_intrusion_data_block_offset; 00409 uint16_t m_intrusion_data_block_size; 00410 uint16_t m_application_data_block_offset; 00411 uint16_t m_application_data_block_size; 00412 }; 00413 00414 } // namespace datastructure 00415 } // namespace sick 00416 00417 #endif // SICK_SAFETYSCANNERS_DATASTRUCTURE_DATAHEADER_H