ifw-ccf 6.0.0
 
Loading...
Searching...
No Matches
comAdptRtms.hpp
Go to the documentation of this file.
1
6
7#ifndef CCF_PROTOCOLS_RTMS_LLNETIO_LIB_COM_ADPT_HPP_H_
8#define CCF_PROTOCOLS_RTMS_LLNETIO_LIB_COM_ADPT_HPP_H_
9
10#include <stdint.h>
11#include <vector>
12#include <thread>
13#include <memory>
14
18#include <ifw/rtmslib_llnetio/rtmsReceiver.hpp>
19
21
22 constexpr auto RTMS_PROP_IP_ADDRESS = "IpAddress";
23 constexpr auto RTMS_PROP_PORT = "Port";
24 constexpr auto RTMS_PROP_NET_IF = "NetworkInterface";
25 constexpr auto RTMS_PROP_WIDTH = "Width";
26 constexpr auto RTMS_PROP_HEIGHT = "Height";
27 constexpr auto RTMS_PROP_DATA_TYPE = "DataType";
28 constexpr auto RTMS_PROP_QUEUE_SIZE = "QueueSize";
29 constexpr auto RTMS_PROP_MTU_SIZE = "MtuSize";
30 constexpr auto RTMS_PROP_TOPIC_ID = "TopicId";
31 constexpr auto RTMS_PROP_SAMPLE_EXT_INFO = "SampleExtInfo";
32
37 public:
38
40 virtual ~ComAdptRtms();
41
42 virtual void InitialiseUser() override;
43
44 virtual void StartUser() override;
45
46 virtual void StopUser() override;
47
48 virtual void ReceiveUser(ifw::ccf::common::DataFrame& frame,
49 bool& frame_received,
50 const double timeout,
51 bool& timed_out) override;
52
53 protected:
54 std::unique_ptr<ifw::ccf::tools::llnetio::rtms2ccflib::RtmsCcfReceiver> m_rtms_receiver;
55 std::unique_ptr<std::thread> m_receiver_thread;
56
58 int m_width{0};
59 int m_height{0};
60
61 std::string m_ip_address;
62 std::string m_interface_name;
63 int m_port;
64 std::string m_data_type_str;
65 std::optional<ifw::fnd::datatype::DataType> m_data_type;
68 int m_topic_id{10};
69 ifw::rtmslib::ExtendedInfoMode m_ext_info_mode{
70 ifw::rtmslib::ExtendedInfoMode::None};
72 };
73
74 }
75
76#endif // CCF_PROTOCOLS_RTMSLLNETIO_LIB_COM_ADPT_HPP_H_
Class to be used as parent for CCF Communication Adapters.
Definition comAdptBase.hpp:48
Frame class used to store the data and metadata for one frames received from the camera.
Definition dataFrame.hpp:20
int8_t m_bytes_per_pixel
Definition comAdptRtms.hpp:57
int m_topic_id
Definition comAdptRtms.hpp:68
ComAdptRtms()
Definition comAdptRtms.cpp:28
int m_height
Definition comAdptRtms.hpp:59
std::string m_interface_name
Definition comAdptRtms.hpp:62
int m_port
Definition comAdptRtms.hpp:63
std::optional< ifw::fnd::datatype::DataType > m_data_type
Definition comAdptRtms.hpp:65
std::unique_ptr< ifw::ccf::tools::llnetio::rtms2ccflib::RtmsCcfReceiver > m_rtms_receiver
Definition comAdptRtms.hpp:54
virtual void ReceiveUser(ifw::ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out) override
Definition comAdptRtms.cpp:196
std::string m_ip_address
Definition comAdptRtms.hpp:61
int m_mtu_size
Definition comAdptRtms.hpp:67
int m_queue_size
Definition comAdptRtms.hpp:66
virtual void StopUser() override
Definition comAdptRtms.cpp:244
ifw::rtmslib::ExtendedInfoMode m_ext_info_mode
Definition comAdptRtms.hpp:69
std::string m_data_type_str
Definition comAdptRtms.hpp:64
int m_width
Definition comAdptRtms.hpp:58
virtual ~ComAdptRtms()
Definition comAdptRtms.cpp:129
int64_t m_previous_lost_frames_count
Definition comAdptRtms.hpp:71
virtual void StartUser() override
Definition comAdptRtms.cpp:134
std::unique_ptr< std::thread > m_receiver_thread
Definition comAdptRtms.hpp:55
virtual void InitialiseUser() override
Definition comAdptRtms.cpp:53
RtmsCcfReceiver class file.
Definition comAdptRtms.cpp:26
constexpr auto RTMS_PROP_IP_ADDRESS
Definition comAdptRtms.hpp:22
constexpr auto RTMS_PROP_WIDTH
Definition comAdptRtms.hpp:25
constexpr auto RTMS_PROP_MTU_SIZE
Definition comAdptRtms.hpp:29
constexpr auto RTMS_PROP_HEIGHT
Definition comAdptRtms.hpp:26
constexpr auto RTMS_PROP_SAMPLE_EXT_INFO
Definition comAdptRtms.hpp:31
constexpr auto RTMS_PROP_PORT
Definition comAdptRtms.hpp:23
constexpr auto RTMS_PROP_QUEUE_SIZE
Definition comAdptRtms.hpp:28
constexpr auto RTMS_PROP_TOPIC_ID
Definition comAdptRtms.hpp:30
constexpr auto RTMS_PROP_DATA_TYPE
Definition comAdptRtms.hpp:27
constexpr auto RTMS_PROP_NET_IF
Definition comAdptRtms.hpp:24