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