memory_blocs_parsers/external_data/emlog.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace ixblue_stdbin_decoder
7 {
8 namespace Parser
9 {
10 class Emlog : public MemoryBlockParser
11 {
12 public:
13  Emlog(int bit_pos) : MemoryBlockParser(bit_pos, 13) {}
14  void parse(boost::asio::const_buffer& buffer,
15  Data::BinaryNav& outBinaryNav) override
16  {
17  Data::Emlog res;
18  buffer >> res.validityTime_100us >> res.emlog_id >> res.xv1_waterSpeed_ms >>
20  fillRes(res, outBinaryNav);
21  }
22  virtual void fillRes(const Data::Emlog& res, Data::BinaryNav& outBinaryNav) = 0;
23 };
24 
25 class Emlog1 : public Emlog
26 {
27 public:
28  Emlog1() : Emlog(4) {}
29 
30 private:
31  void fillRes(const Data::Emlog& res, Data::BinaryNav& outBinaryNav)
32  {
33  outBinaryNav.emlog1 = res;
34  }
35 };
36 
37 class Emlog2 : public Emlog
38 {
39 public:
40  Emlog2() : Emlog(5) {}
41 
42 private:
43  void fillRes(const Data::Emlog& res, Data::BinaryNav& outBinaryNav)
44  {
45  outBinaryNav.emlog2 = res;
46  }
47 };
48 
49 } // namespace Parser
50 } // namespace ixblue_stdbin_decoder
void fillRes(const Data::Emlog &res, Data::BinaryNav &outBinaryNav)
boost::optional< Emlog > emlog2
Definition: stdbin.h:118
void fillRes(const Data::Emlog &res, Data::BinaryNav &outBinaryNav)
void parse(boost::asio::const_buffer &buffer, Data::BinaryNav &outBinaryNav) override
boost::optional< Emlog > emlog1
Definition: stdbin.h:117
virtual void fillRes(const Data::Emlog &res, Data::BinaryNav &outBinaryNav)=0


ixblue_stdbin_decoder
Author(s): Adrien BARRAL , Laure LEBROTON
autogenerated on Sat Jan 9 2021 03:13:21