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_LIB_COM_ADPT_HPP_H_
8#define CCF_PROTOCOLS_RTMS_LIB_COM_ADPT_HPP_H_
9
10#include <stdint.h>
11#include <vector>
12#include <thread>
13
17
19
20 constexpr auto RTMS_PROP_IP_ADDRESS = "IpAddress";
21 constexpr auto RTMS_PROP_PORT = "Port";
22 constexpr auto RTMS_PROP_NET_IF = "NetworkInterface";
23 constexpr auto RTMS_PROP_WIDTH = "Width";
24 constexpr auto RTMS_PROP_HEIGHT = "Height";
25 constexpr auto RTMS_PROP_DATA_TYPE = "DataType";
26 constexpr auto RTMS_PROP_QUEUE_SIZE = "QueueSize";
27
32 public:
33
35 virtual ~ComAdptRtms();
36
37 virtual void InitialiseUser() override;
38
39 virtual void ConnectUser() override;
40
41 virtual void DisconnectUser() override;
42
43 virtual void StartUser() override;
44
45 virtual void StopUser() override;
46
47 virtual void ReceiveUser(ifw::ccf::common::DataFrame& frame,
48 bool& frame_received,
49 const double timeout,
50 bool& timed_out) override;
51
52 protected:
53 // TODO: Should be shared ptr?
55 std::thread* m_receiver_thread{nullptr};
56
58
59 std::string m_ip_address;
60 int m_port;
61 std::string m_net_if;
62 std::string m_data_type_str;
63 std::optional<ifw::fnd::datatype::DataType> m_data_type;
66 };
67
68 }
69
70 #endif // CCF_PROTOCOLS_RTMS_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
virtual void ReceiveUser(ifw::ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out) override
Definition comAdptRtms.cpp:123
int8_t m_bytes_per_pixel
Definition comAdptRtms.hpp:57
int64_t m_previous_lost_frames_count
Definition comAdptRtms.hpp:65
ifw::ccf::tools::rtms2ccflib::RtmsCcfReceiver * m_rtms_receiver
Definition comAdptRtms.hpp:54
virtual void ConnectUser() override
Definition comAdptRtms.cpp:84
ComAdptRtms()
Definition comAdptRtms.cpp:23
virtual void DisconnectUser() override
Definition comAdptRtms.cpp:98
std::string m_ip_address
Definition comAdptRtms.hpp:59
virtual void InitialiseUser() override
Definition comAdptRtms.cpp:31
std::string m_net_if
Definition comAdptRtms.hpp:61
virtual void StartUser() override
Definition comAdptRtms.cpp:113
virtual void StopUser() override
Definition comAdptRtms.cpp:118
std::string m_data_type_str
Definition comAdptRtms.hpp:62
std::optional< ifw::fnd::datatype::DataType > m_data_type
Definition comAdptRtms.hpp:63
int m_port
Definition comAdptRtms.hpp:60
std::thread * m_receiver_thread
Definition comAdptRtms.hpp:55
int m_queue_size
Definition comAdptRtms.hpp:64
virtual ~ComAdptRtms()
Definition comAdptRtms.cpp:79
The RtmsCcfReceiver struct receives RTMS packets and package these in ifw::ccf::common::DataFrame obj...
Definition rtmsCcfReceiver.hpp:24
Definition comAdptRtms.cpp:21
constexpr auto RTMS_PROP_WIDTH
Definition comAdptRtms.hpp:23
constexpr auto RTMS_PROP_HEIGHT
Definition comAdptRtms.hpp:24
constexpr auto RTMS_PROP_IP_ADDRESS
Definition comAdptRtms.hpp:20
constexpr auto RTMS_PROP_NET_IF
Definition comAdptRtms.hpp:22
constexpr auto RTMS_PROP_DATA_TYPE
Definition comAdptRtms.hpp:25
constexpr auto RTMS_PROP_PORT
Definition comAdptRtms.hpp:21
constexpr auto RTMS_PROP_QUEUE_SIZE
Definition comAdptRtms.hpp:26
RtmsCcfReceiver class file.