ParseDatagramHeader.cpp
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 
3 // -- BEGIN LICENSE BLOCK ----------------------------------------------
4 
24 // -- END LICENSE BLOCK ------------------------------------------------
25 
26 //----------------------------------------------------------------------
33 //----------------------------------------------------------------------
34 
36 
37 namespace sick {
38 namespace data_processing {
39 
41 
43  datastructure::DatagramHeader& header) const
44 {
45  // Keep our own copy of the shared_ptr to keep the iterators valid
46  const std::shared_ptr<std::vector<uint8_t> const> vec_ptr = buffer.getBuffer();
47  std::vector<uint8_t>::const_iterator data_ptr = vec_ptr->begin();
48  setDataInHeader(data_ptr, header);
49  return true;
50 }
51 
52 void ParseDatagramHeader::setDataInHeader(std::vector<uint8_t>::const_iterator data_ptr,
53  datastructure::DatagramHeader& header) const
54 {
55  setDatagramMarkerInHeader(data_ptr, header);
56  setProtocolInHeader(data_ptr, header);
57  setMajorVersionInHeader(data_ptr, header);
58  setMinorVersionInHeader(data_ptr, header);
59  setTotalLengthInHeader(data_ptr, header);
60  setIdentificationInHeader(data_ptr, header);
61  setFragmentOffsetInHeader(data_ptr, header);
62 }
63 
64 void ParseDatagramHeader::setDatagramMarkerInHeader(std::vector<uint8_t>::const_iterator data_ptr,
65  datastructure::DatagramHeader& header) const
66 {
68 }
69 
70 void ParseDatagramHeader::setProtocolInHeader(std::vector<uint8_t>::const_iterator data_ptr,
71  datastructure::DatagramHeader& header) const
72 {
74 }
75 
76 void ParseDatagramHeader::setMajorVersionInHeader(std::vector<uint8_t>::const_iterator data_ptr,
77  datastructure::DatagramHeader& header) const
78 {
80 }
81 
82 void ParseDatagramHeader::setMinorVersionInHeader(std::vector<uint8_t>::const_iterator data_ptr,
83  datastructure::DatagramHeader& header) const
84 {
86 }
87 
88 void ParseDatagramHeader::setTotalLengthInHeader(std::vector<uint8_t>::const_iterator data_ptr,
89  datastructure::DatagramHeader& header) const
90 {
92 }
93 
94 void ParseDatagramHeader::setIdentificationInHeader(std::vector<uint8_t>::const_iterator data_ptr,
95  datastructure::DatagramHeader& header) const
96 {
98 }
99 
100 void ParseDatagramHeader::setFragmentOffsetInHeader(std::vector<uint8_t>::const_iterator data_ptr,
101  datastructure::DatagramHeader& header) const
102 {
104 }
105 
106 } // namespace data_processing
107 } // namespace sick
A packetbuffer for the raw data from the sensor.
Definition: PacketBuffer.h:61
std::shared_ptr< std::vector< uint8_t > const > getBuffer() const
Getter to return a copy of the data saved in the PacketBuffer.
void setMajorVersionInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
void setMinorVersionInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
void setMinorVersion(const uint8_t &value)
Sets the minor version number.
void setProtocolInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
void setProtocol(const uint16_t &value)
Sets the used protocol.
uint8_t readUint8LittleEndian(std::vector< uint8_t >::const_iterator it)
Read an unsigned 8-bit integer at offset in big little encoding.
uint32_t readUint32BigEndian(std::vector< uint8_t >::const_iterator it)
Read an unsigned 32-bit integer at offset in big endian encoding.
uint32_t readUint32LittleEndian(std::vector< uint8_t >::const_iterator it)
Read an unsigned 32-bit integer at offset in little endian encoding.
void setFragmentOffsetInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
ParseDatagramHeader()
Constructor of the parser.
void setIdentificationInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
void setDataInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
void setTotalLength(const uint32_t &value)
Sets the total length of the data packet.
uint16_t readUint16BigEndian(std::vector< uint8_t >::const_iterator it)
Read an unsigned 16-bit integer at offset in big endian encoding.
void setTotalLengthInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
void setDatagramMarker(const uint32_t &value)
Sets the datagram marker.
void setDatagramMarkerInHeader(std::vector< uint8_t >::const_iterator data_ptr, datastructure::DatagramHeader &header) const
void setMajorVersion(const uint8_t &value)
Sets the major version number.
void setIdentification(const uint32_t &value)
Sets the identification of the data.
bool parseUDPSequence(const datastructure::PacketBuffer &buffer, sick::datastructure::DatagramHeader &header) const
Parses the udp sequence to get the identification and the offset for the datagram header...
Contains the contents of a udp datagram header. Used to match the datagrams together to form a comple...
void setFragmentOffset(const uint32_t &value)
Sets the fragment offset of the data.


sick_safetyscanners
Author(s): Lennart Puck
autogenerated on Fri Apr 2 2021 02:45:41