Program Listing for File DataHeader.h

Return to documentation for file (/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/datastructure/DataHeader.h)

// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-

// -- BEGIN LICENSE BLOCK ----------------------------------------------

// -- END LICENSE BLOCK ------------------------------------------------

//----------------------------------------------------------------------
//----------------------------------------------------------------------

#ifndef SICK_SAFETYSCANNERS_BASE_DATASTRUCTURE_DATAHEADER_H
#define SICK_SAFETYSCANNERS_BASE_DATASTRUCTURE_DATAHEADER_H

#include <stdint.h>

namespace sick {
namespace datastructure {

class DataHeader
{
public:
  DataHeader();

  uint8_t getVersionIndicator() const;

  void setVersionIndicator(const uint8_t& version_indicator);

  uint8_t getVersionMajorVersion() const;

  void setVersionMajorVersion(const uint8_t& version_major_version);

  uint8_t getVersionMinorVersion() const;
  void setVersionMinorVersion(const uint8_t& version_minor_version);

  uint8_t getVersionRelease() const;
  void setVersionRelease(const uint8_t& version_release);

  uint32_t getSerialNumberOfDevice() const;
  void setSerialNumberOfDevice(const uint32_t& serial_number_of_device);

  uint32_t getSerialNumberOfSystemPlug() const;
  void setSerialNumberOfSystemPlug(const uint32_t& serial_number_of_system_plug);

  uint8_t getChannelNumber() const;
  void setChannelNumber(const uint8_t& channel_number);

  uint32_t getSequenceNumber() const;
  void setSequenceNumber(const uint32_t& sequence_number);

  uint32_t getScanNumber() const;
  void setScanNumber(const uint32_t& scan_number);

  uint16_t getTimestampDate() const;
  void setTimestampDate(const uint16_t& timestamp_date);

  uint32_t getTimestampTime() const;
  void setTimestampTime(const uint32_t& timestamp_time);

  uint16_t getGeneralSystemStateBlockOffset() const;
  void setGeneralSystemStateBlockOffset(const uint16_t& general_system_state_block_offset);

  uint16_t getGeneralSystemStateBlockSize() const;
  void setGeneralSystemStateBlockSize(const uint16_t& general_system_state_block_size);

  uint16_t getDerivedValuesBlockOffset() const;
  void setDerivedValuesBlockOffset(const uint16_t& derived_values_block_offset);

  uint16_t getDerivedValuesBlockSize() const;
  void setDerivedValuesBlockSize(const uint16_t& derived_values_block_size);

  uint16_t getMeasurementDataBlockOffset() const;
  void setMeasurementDataBlockOffset(const uint16_t& measurement_data_block_offset);

  uint16_t getMeasurementDataBlockSize() const;
  void setMeasurementDataBlockSize(const uint16_t& measurement_data_block_size);

  uint16_t getIntrusionDataBlockOffset() const;
  void setIntrusionDataBlockOffset(const uint16_t& intrusion_data_block_offset);

  uint16_t getIntrusionDataBlockSize() const;
  void setIntrusionDataBlockSize(const uint16_t& intrusion_data_block_size);

  uint16_t getApplicationDataBlockOffset() const;
  void setApplicationDataBlockOffset(const uint16_t& application_data_block_offset);

  uint16_t getApplicationDataBlockSize() const;
  void setApplicationDataBlockSize(const uint16_t& application_data_block_size);

  bool isEmpty() const;
  void setIsEmpty(bool is_empty);

private:
  bool m_is_empty;

  uint8_t m_version_indicator;
  uint8_t m_version_major_version;
  uint8_t m_version_minor_version;
  uint8_t m_version_release;
  uint32_t m_serial_number_of_device;
  uint32_t m_serial_number_of_system_plug;
  uint8_t m_channel_number;
  uint32_t m_sequence_number;
  uint32_t m_scan_number;
  uint16_t m_timestamp_date;
  uint32_t m_timestamp_time;
  uint16_t m_general_system_state_block_offset;
  uint16_t m_general_system_state_block_size;
  uint16_t m_derived_values_block_offset;
  uint16_t m_derived_values_block_size;
  uint16_t m_measurement_data_block_offset;
  uint16_t m_measurement_data_block_size;
  uint16_t m_intrusion_data_block_offset;
  uint16_t m_intrusion_data_block_size;
  uint16_t m_application_data_block_offset;
  uint16_t m_application_data_block_size;
};

} // namespace datastructure
} // namespace sick

#endif // SICK_SAFETYSCANNERS_BASE_DATASTRUCTURE_DATAHEADER_H