.. _program_listing_file__tmp_ws_src_sick_safetyscanners_base_include_sick_safetyscanners_base_data_processing_ParseTCPPacket.h: Program Listing for File ParseTCPPacket.h ========================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/data_processing/ParseTCPPacket.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_PARSETCPPACKET_H #define SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSETCPPACKET_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" namespace sick { namespace cola2 { class Command; } // namespace cola2 namespace data_processing { class ParseTCPPacket { public: ParseTCPPacket(); bool parseTCPSequence(const datastructure::PacketBuffer& buffer, sick::cola2::Command& command) const; uint32_t getExpectedPacketLength(const datastructure::PacketBuffer& buffer); uint16_t getRequestID(const datastructure::PacketBuffer& buffer) const; private: uint32_t readSTx(std::vector::const_iterator data_ptr) const; uint32_t readLength(std::vector::const_iterator data_ptr) const; uint16_t readRequestID(std::vector::const_iterator data_ptr) const; uint8_t readHubCntr(std::vector::const_iterator data_ptr) const; uint8_t readNoC(std::vector::const_iterator data_ptr) const; uint32_t readSessionID(std::vector::const_iterator data_ptr) const; uint8_t readCommandType(std::vector::const_iterator data_ptr) const; uint8_t readCommandMode(std::vector::const_iterator data_ptr) const; uint16_t readErrorCode(std::vector::const_iterator data_ptr) const; std::vector readData(const datastructure::PacketBuffer& buffer) const; void setCommandValuesFromPacket(const sick::datastructure::PacketBuffer& buffer, sick::cola2::Command& command) const; }; } // namespace data_processing } // namespace sick #endif // SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSETCPPACKET_H