ifw-ccf 5.0.2
Loading...
Searching...
No Matches
pubDdt.hpp
Go to the documentation of this file.
1
5#ifndef CCF_STDPUB_PUB_DDT_HPP_H_
6#define CCF_STDPUB_PUB_DDT_HPP_H_
7
10
11// DDT related includes
12#include <ddt/ddtDataPublisherApplication.hpp>
13#include <ddt/ddtDataPublisher.hpp>
14#include <ddt/ddtDataTransferFactory.hpp>
15#include <ddt/ddtEncDecImage3D.hpp>
16#include <ddt/ddtLogger.hpp>
17
18namespace ifw::ccf::stdpub {
19
22 public:
23
24 static uint32_t GetDdtDataType(ifw::fnd::datatype::DataType data_type);
25
26 static void _SetSimulation(); // Warning: Don't use this.
27
28 const std::string SETUP_KEY_DDT_ID = "ddt_id";
29 const std::string SETUP_KEY_DDT_BROKER = "ddt_broker";
30 const std::string SETUP_KEY_MAX_RATE = "ddt_max_rate";
31
32
33 PubDdt(const std::string& proc_thread_name,
34 const std::string& pub_thread_name);
35
36 PubDdt();
37
38 virtual ~PubDdt();
39
40 virtual void InitialiseUser();
41
42 virtual void PublishUser(ifw::ccf::common::DataFrame& frame);
43
44 virtual void DismantleUser();
45
46 // virtual void CreateObjectUser(const std::string& proc_thread_name,
47 // const std::string& pub_thread_name,
48 // std::shared_ptr<PubBase>& new_object);
49
50 virtual void CreateObjectUser(const std::string& proc_thread_name,
51 const std::string& pub_thread_name,
52 PubBase** new_object);
53
54 protected:
55
56 private:
57 // TODO: Not the right way to be able to use the class for unit tests, without starting the DDT
58 // Broker. A better solution should be found, maybe based on an intemediate DDT adapter.
59 static bool s_simulation;
60
61 double m_min_period;
62 double m_time_last_publishing;
63
64 // DDT required objects.
65 ddt::DdtLogger* m_logger;
66 std::unique_ptr<ddt::DdtDataPublisher> m_publisher;
67 DdtEncDecImage3D m_encoder;
68 };
69
70}
71
72#endif // CCF_STDPUB_PUB_DDT_HPP_H_
Frame class used to store the data and metadata for one frames received from the camera.
Definition dataFrame.hpp:18
Class for implementing CCF Data Publishers.
Definition pubBase.hpp:115
PubBase()
Definition pubBase.cpp:392
Standard DDT Publisher.
Definition pubDdt.hpp:21
static void _SetSimulation()
Definition pubDdt.cpp:37
const std::string SETUP_KEY_MAX_RATE
Definition pubDdt.hpp:30
const std::string SETUP_KEY_DDT_BROKER
Definition pubDdt.hpp:29
virtual void CreateObjectUser(const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **new_object)
Definition pubDdt.cpp:183
virtual void DismantleUser()
Definition pubDdt.cpp:175
PubDdt()
Definition pubDdt.cpp:56
virtual void PublishUser(ifw::ccf::common::DataFrame &frame)
Definition pubDdt.cpp:110
static uint32_t GetDdtDataType(ifw::fnd::datatype::DataType data_type)
Definition pubDdt.cpp:14
const std::string SETUP_KEY_DDT_ID
Definition pubDdt.hpp:28
virtual ~PubDdt()
Definition pubDdt.cpp:62
virtual void InitialiseUser()
Definition pubDdt.cpp:69
MudpiCreator public header file. This class was copied from the MELT CS repository.
Definition mudpiCreator.hpp:22