ParseData.h
Go to the documentation of this file.
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_DATA_PROCESSING_PARSEDATA_H
00036 #define SICK_SAFETYSCANNERS_DATA_PROCESSING_PARSEDATA_H
00037 
00038 #include <sick_safetyscanners/datastructure/Data.h>
00039 #include <sick_safetyscanners/datastructure/PacketBuffer.h>
00040 
00041 #include <sick_safetyscanners/data_processing/ParseApplicationData.h>
00042 #include <sick_safetyscanners/data_processing/ParseDataHeader.h>
00043 #include <sick_safetyscanners/data_processing/ParseDerivedValues.h>
00044 #include <sick_safetyscanners/data_processing/ParseGeneralSystemState.h>
00045 #include <sick_safetyscanners/data_processing/ParseIntrusionData.h>
00046 #include <sick_safetyscanners/data_processing/ParseMeasurementData.h>
00047 #include <sick_safetyscanners/data_processing/ReadWriteHelper.h>
00048 
00049 
00050 namespace sick {
00051 namespace data_processing {
00052 
00056 class ParseData
00057 {
00058 public:
00062   ParseData();
00063 
00073   bool parseUDPSequence(const sick::datastructure::PacketBuffer buffer,
00074                         sick::datastructure::Data& data) const;
00075 
00076 private:
00077   std::shared_ptr<sick::data_processing::ReadWriteHelper> m_reader_ptr;
00078 
00079   std::shared_ptr<sick::data_processing::ParseDataHeader> m_data_header_parser_ptr;
00080   std::shared_ptr<sick::data_processing::ParseDerivedValues> m_derived_values_parser_ptr;
00081   std::shared_ptr<sick::data_processing::ParseMeasurementData> m_measurement_data_parser_ptr;
00082   std::shared_ptr<sick::data_processing::ParseGeneralSystemState> m_general_system_state_parser_ptr;
00083   std::shared_ptr<sick::data_processing::ParseIntrusionData> m_intrusion_data_parser_ptr;
00084   std::shared_ptr<sick::data_processing::ParseApplicationData> m_application_data_parser_ptr;
00085 
00086 
00087   void setDataBlocksInData(const datastructure::PacketBuffer& buffer,
00088                            datastructure::Data& data) const;
00089   void setDataHeaderInData(const datastructure::PacketBuffer& buffer,
00090                            datastructure::Data& data) const;
00091   void setDerivedValuesInData(const datastructure::PacketBuffer& buffer,
00092                               datastructure::Data& data) const;
00093   void setMeasurementDataInData(const datastructure::PacketBuffer& buffer,
00094                                 datastructure::Data& data) const;
00095   void setGeneralSystemStateInData(const datastructure::PacketBuffer& buffer,
00096                                    datastructure::Data& data) const;
00097   void setIntrusionDataInData(const datastructure::PacketBuffer& buffer,
00098                               datastructure::Data& data) const;
00099   void setApplicationDataInData(const datastructure::PacketBuffer& buffer,
00100                                 datastructure::Data& data) const;
00101 };
00102 
00103 } // namespace data_processing
00104 } // namespace sick
00105 
00106 #endif // SICK_SAFETYSCANNERS_DATA_PROCESSING_PARSEDATA_H


sick_safetyscanners
Author(s): Lennart Puck
autogenerated on Tue May 7 2019 03:27:36