ddt  0.1
ddtEncDecBinaryxD.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file ddtMetaDataBinaryxD.hpp
8 // @brief DDT EncDecMultiDim. Class to encode / decode multi-dimensional array
9 // data samples.
10 //
11 // Class to encode / decode multi-dimensional array data samples.
12 //
13 // @author Carsten Mannel, CGI
14 // @since 2020/05/30
15 //
16 
17 #ifndef DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_BINARY_XD_HPP
18 #define DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_BINARY_XD_HPP
19 
20 #include <boost/interprocess/containers/vector.hpp>
21 
22 #include "MetaData.pb.h"
23 #include "ddt/ddtEncDec.hpp"
24 
25 namespace ip = boost::interprocess;
26 
32  std::string array_dimensions;
34  std::string labels;
35 };
36 
47 class DdtEncDecBinaryxD : public DdtEncDec {
48  public:
52  explicit DdtEncDecBinaryxD();
53 
57  void Decode(const int length, std::vector<uint8_t> meta_data);
58 
64  void Encode(MetaDataElementsBinaryxD const& meta_data);
65 
69  ~DdtEncDecBinaryxD() override;
70 
74  std::vector<uint8_t> get_meta_data() const;
75 
76  // Getter functions for the meta data base members
77 
81  uint32_t get_bytes_per_pixel() const override;
82 
86  uint32_t get_number_dimensions() const override;
87 
91  std::string get_utc_timestamp() const override;
92 
96  bool get_complete_flag() const override;
97 
101  bool get_last_segment() const override;
102 
106  bool get_byte_order_little_endian() const override;
107 
111  uint32_t get_data_type() const override;
112 
116  std::string get_description() const override;
117 
118  // Getter functions for the meta data specific members
119 
124  std::string get_array_dimensions() const;
125 
129  std::string get_configuration_map_name() const;
130 
134  std::string get_labels() const;
135 
136  protected:
141  ddt::MetaDataBinaryxD meta_data_binary_xd;
142 };
143 
144 #endif // DDT_DATAVISUALISATION_DATATRANSFER_DATATRANSFERLIB_ENCDEC_BINARY_XD_HPP
MetaDataBase
Definition: ddtEncDec.hpp:46
DdtEncDecBinaryxD::get_complete_flag
bool get_complete_flag() const override
Definition: ddtEncDecBinaryxD.cpp:111
DdtEncDec
Definition: ddtEncDec.hpp:60
DdtEncDecBinaryxD::get_data_type
uint32_t get_data_type() const override
Definition: ddtEncDecBinaryxD.cpp:123
DdtEncDecBinaryxD::get_byte_order_little_endian
bool get_byte_order_little_endian() const override
Definition: ddtEncDecBinaryxD.cpp:119
DdtEncDecBinaryxD::get_configuration_map_name
std::string get_configuration_map_name() const
Definition: ddtEncDecBinaryxD.cpp:135
ddtEncDec.hpp
DdtEncDecBinaryxD::get_array_dimensions
std::string get_array_dimensions() const
Definition: ddtEncDecBinaryxD.cpp:131
DdtEncDecBinaryxD::get_utc_timestamp
std::string get_utc_timestamp() const override
Definition: ddtEncDecBinaryxD.cpp:107
DdtEncDecBinaryxD::~DdtEncDecBinaryxD
~DdtEncDecBinaryxD() override
DdtEncDecBinaryxD::DdtEncDecBinaryxD
DdtEncDecBinaryxD()
Definition: ddtEncDecBinaryxD.cpp:19
DdtEncDecBinaryxD::meta_data_binary_xd
ddt::MetaDataBinaryxD meta_data_binary_xd
Definition: ddtEncDecBinaryxD.hpp:141
DdtEncDecBinaryxD::get_description
std::string get_description() const override
Definition: ddtEncDecBinaryxD.cpp:127
MetaDataElementsBinaryxD::configuration_map_name
std::string configuration_map_name
Definition: ddtEncDecBinaryxD.hpp:33
MetaDataElementsBinaryxD::meta_data_base
MetaDataBase meta_data_base
Definition: ddtEncDecBinaryxD.hpp:31
MetaDataElementsBinaryxD::array_dimensions
std::string array_dimensions
Definition: ddtEncDecBinaryxD.hpp:32
MetaDataElementsBinaryxD
Definition: ddtEncDecBinaryxD.hpp:30
DdtEncDecBinaryxD::Decode
void Decode(const int length, std::vector< uint8_t > meta_data)
Definition: ddtEncDecBinaryxD.cpp:25
DdtEncDecBinaryxD
Definition: ddtEncDecBinaryxD.hpp:47
DdtEncDecBinaryxD::Encode
void Encode(MetaDataElementsBinaryxD const &meta_data)
Definition: ddtEncDecBinaryxD.cpp:38
DdtEncDecBinaryxD::get_bytes_per_pixel
uint32_t get_bytes_per_pixel() const override
Definition: ddtEncDecBinaryxD.cpp:99
DdtEncDecBinaryxD::get_last_segment
bool get_last_segment() const override
Definition: ddtEncDecBinaryxD.cpp:115
DdtEncDecBinaryxD::get_number_dimensions
uint32_t get_number_dimensions() const override
Definition: ddtEncDecBinaryxD.cpp:103
DdtEncDecBinaryxD::get_labels
std::string get_labels() const
Definition: ddtEncDecBinaryxD.cpp:139
MetaDataElementsBinaryxD::labels
std::string labels
Definition: ddtEncDecBinaryxD.hpp:34
DdtEncDecBinaryxD::get_meta_data
std::vector< uint8_t > get_meta_data() const
Definition: ddtEncDecBinaryxD.cpp:86