ifw-ccf  3.0.0-pre2
mudpiCreator.hpp
Go to the documentation of this file.
1 
8 #ifndef CCF_STDPUB_MUDPI_CREATOR_HPP_H_
9 #define CCF_STDPUB_MUDPI_CREATOR_HPP_H_
10 
11 #define BOOST_BIND_NO_PLACEHOLDERS
12 
13 #include <cstdint>
14 #include <vector>
15 
16 #include <mudpiif/MudpiPacket.hpp>
17 #include <hrtcpif/HrtcpCommonPacket.hpp>
18 #include <hrtcpif/HrtcpLeaderPacket.hpp>
19 #include <hrtcpif/HrtcpTrailerPacket.hpp>
20 #include <hrtcpif/HrtcpPayloadPacket.hpp>
21 
22 namespace ccf::stdpub {
23 
34  class MudpiCreator {
35  public:
36 
37  MudpiCreator(uint32_t mudpi_topic_id,
38  uint16_t mudpi_component_id,
39  uint32_t starting_mudpi_sample_id,
40  hrtcpif::SimSource hrtcp_sim_source,
41  hrtcpif::Endianness hrtcp_endianness,
42  int bytes_per_pixel);
44  MudpiCreator(MudpiCreator&) = delete;
49 
50  std::vector<mudpiif::mudpiPacketJumbo>& getMudpiPackets(std::vector<unsigned char>& raw_image_data,
51  double timestamp);
52  void increaseSampleId();
53 
54  private:
55  uint32_t getSampleId() { return m_mudpi_sample_identity; }
56 
57  std::vector<mudpiif::mudpiPacketJumbo> m_mudpi_packets;
58 
59  uint32_t m_mudpi_sample_identity;
60  uint32_t m_mudpi_topic_identity;
61  uint16_t m_mudpi_component_identity;
62  hrtcpif::SimSource m_hrtcp_sim_source;
63  hrtcpif::Endianness m_hrtcp_endianness;
64  int m_bytes_per_pixel;
65 
66  mudpiif::mudpiPacketJumbo assembleMudpiLeadingPacket(std::vector<unsigned char>& raw_image_data);
67  mudpiif::mudpiPacketJumbo assembleMudpiTrailingPacket(std::vector<unsigned char>& raw_image_data);
68  void assembleMudpiPayloadPackets(std::vector<mudpiif::mudpiPacketJumbo>& mudpi_packets,
69  std::vector<unsigned char>& raw_image_data,
70  double timestamp);
71 
72  };
73 
74 }
75 
76 
77 #endif /* CCF_STDPUB_MUDPI_CREATOR_HPP_H_ */
Rtms creator class.
Definition: mudpiCreator.hpp:34
MudpiCreator & operator=(MudpiCreator &)=delete
MudpiCreator(MudpiCreator &&)=delete
std::vector< mudpiif::mudpiPacketJumbo > & getMudpiPackets(std::vector< unsigned char > &raw_image_data, double timestamp)
Definition: mudpiCreator.cpp:37
void increaseSampleId()
Definition: mudpiCreator.cpp:159
MudpiCreator(uint32_t mudpi_topic_id, uint16_t mudpi_component_id, uint32_t starting_mudpi_sample_id, hrtcpif::SimSource hrtcp_sim_source, hrtcpif::Endianness hrtcp_endianness, int bytes_per_pixel)
Definition: mudpiCreator.cpp:16
MudpiCreator source file.
Definition: mudpiCreator.hpp:22