.. _program_listing_file__tmp_ws_src_sick_safetyscanners_base_include_sick_safetyscanners_base_data_processing_ParseIntrusionData.h: Program Listing for File ParseIntrusionData.h ============================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/data_processing/ParseIntrusionData.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- // -- BEGIN LICENSE BLOCK ---------------------------------------------- // -- END LICENSE BLOCK ------------------------------------------------ //---------------------------------------------------------------------- //---------------------------------------------------------------------- #ifndef SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEINTRUSIONDATA_H #define SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEINTRUSIONDATA_H #include "sick_safetyscanners_base/datastructure/Data.h" #include "sick_safetyscanners_base/datastructure/DerivedValues.h" #include "sick_safetyscanners_base/datastructure/PacketBuffer.h" #include "sick_safetyscanners_base/data_processing/ReadWriteHelper.hpp" #include namespace sick { namespace data_processing { class ParseIntrusionData { public: ParseIntrusionData(); datastructure::IntrusionData parseUDPSequence(const datastructure::PacketBuffer& buffer, datastructure::Data& data); uint16_t getNumScanPoints() const; void setNumScanPoints(const uint16_t& num_scan_points); private: uint16_t m_num_scan_points; void setDataInIntrusionData(std::vector::const_iterator data_ptr, datastructure::IntrusionData& intrusion_data) const; void setDataInIntrusionDatums( std::vector::const_iterator data_ptr, std::vector& intrusion_datums) const; uint16_t setSizeInIntrusionDatum(const uint16_t& offset, std::vector::const_iterator data_ptr, sick::datastructure::IntrusionDatum& datum) const; uint16_t setFlagsInIntrusionDatum(const uint16_t& offset, std::vector::const_iterator data_ptr, sick::datastructure::IntrusionDatum& datum) const; bool checkIfPreconditionsAreMet(const datastructure::Data& data) const; bool checkIfIntrusionDataIsPublished(const datastructure::Data& data) const; bool checkIfDataContainsNeededParsedBlocks(const datastructure::Data& data) const; }; } // namespace data_processing } // namespace sick #endif // SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEINTRUSIONDATA_H