21#ifndef DDTSUBSCRIBERSIMULATOR_HPP_
22#define DDTSUBSCRIBERSIMULATOR_HPP_
29#include <boost/algorithm/string.hpp>
30#include <boost/bind/bind.hpp>
31#include <boost/signals2/signal.hpp>
48namespace mal = ::elt::mal;
49namespace datatransfer = ::elt::ddt::datatransfer;
101 void ProcessNewData()
final;
102 void ProcessNewDataOsc();
103 void ProcessNewDataMultiDim();
104 void PrintStatistics();
105 void DumpAsFile(
ddt::DataSample*
const data_sample,
const std::shared_ptr<DdtEncDec> encDec);
108 const int bytes_per_pixel,
111 const uint32_t data_type,
112 bool*
const unwrap_only);
113 cpl_propertylist* LoadWCSFromMetadata(
const std::shared_ptr<DdtEncDec> enc_dec);
115 void LogMetaDataBase(
DataSample*
const data_sample,
116 const std::shared_ptr<DdtEncDec> enc_dec);
117 void LogMetaDataImage2D(
DataSample*
const data_sample,
118 const std::shared_ptr<DdtEncDecImage2D> enc_dec_2d);
119 void LogMetaDataImage3D(
DataSample*
const data_sample,
120 const std::shared_ptr<DdtEncDecImage3D> enc_dec_3d);
121 void LogMetaDataBinaryxD(
DataSample*
const data_sample,
122 const std::shared_ptr<DdtEncDecBinaryxD> enc_dec_xd);
123 void LogSimulatorStart(
const std::string use_case);
124 void LogWcsInfo(std::shared_ptr<DdtEncDec> enc_dec);
126 std::vector<std::string> GetDimensions(
DataSample*
const data_sample);
128 std::unique_ptr<DdtDataSubscriber> subscriber;
130 std::unique_ptr<DdtLogger> logger;
132 bool debug_log_enabled =
false;
133 std::string broker_uri;
134 std::string data_stream_identifier;
135 int reading_interval = 10;
136 std::string remote_broker_uri;
138 bool statistics =
false;
139 bool dump_data =
false;
140 std::string dump_folder;
142 std::atomic<bool> processing_active;
144 boost::signals2::connection connection;
146 const int BYTES_STEP = 2;
Definition ddtDataSubscriberApplication.hpp:28
Definition ddtSubscriberSimulator.hpp:67
~DdtSubscriberSimulator() final
Definition ddtSubscriberSimulator.cpp:64
DdtSubscriberSimulator()
Definition ddtSubscriberSimulator.cpp:60
int RunTransfer()
Definition ddtSubscriberSimulator.cpp:120
ddt::InitCodes Init(int argc, char *argv[])
Definition ddtSubscriberSimulator.cpp:68
int Run() final
Definition ddtSubscriberSimulator.cpp:108
Class for parsing command line arguments. The commandline parser shall parse the required arguments f...
Simulator for receiving data. This is a base class for data subscriber applications.
Data Subscriber. This class provides the functionality for subscriber applications to register / unre...
Factory for DdtDataPublishers and DdtDataSubscribers. This class provides factory methods for creatin...
DDT EncDecMultiDim. Class to encode / decode multi-dimensional array data samples....
DDT EncDecImage2D. Class to encode / decode 2-dimensional data samples containing image data....
DDT EncDecMultiLayer. Class to encode / decode multi-layer image data samples. Class to encode / deco...
Contains return codes for Init() method. This file shall contain return codes that can be used by all...
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
Image Buffer class, handles internal CPL image. This file is part of the DDT Image Handling Library a...
Image IO function declaration. This file is part of the DDT Image Handling Library and provides funct...
Image IO function declaration. This file is part of the DDT Image Handling Library and provides initi...
Definition ddtClient.hpp:39
SubscriberModes
Definition ddtSubscriberSimulator.hpp:56
@ OSCILLOSCOPE
Definition ddtPublisherSimulator.hpp:52
@ MULTIDIM
Definition ddtPublisherSimulator.hpp:53
@ SEGMENTEDIMAGE
Definition ddtPublisherSimulator.hpp:55
@ CONFIGURATIONMAP
Definition ddtPublisherSimulator.hpp:54
@ IMAGETRANSFER
Definition ddtPublisherSimulator.hpp:51
InitCodes
Definition ddtInitCodes.hpp:24
CommandLineParserResult
Definition commandLineParser.hpp:38
Definition ddtMemoryAccessor.hpp:184