5#ifndef CCF_CONTROL_PUB_THREAD_HPP_H_
6#define CCF_CONTROL_PUB_THREAD_HPP_H_
26 const double period = 0.1);
63 const std::list<ifw::ccf::common::PubBase*>&
GetPublishers()
const;
77 bool CheckMessageBus(
bool& new_data_available,
79 void GetFrameHandleRef();
80 void InvokePublishers();
81 void ReleaseFrameHandle();
83 std::string& diagnostics);
85 std::string m_parent_proc_thr_name;
97 std::list<ifw::ccf::common::PubBase*> m_publishers;
102 std::map<std::string, ifw::ccf::common::PubBase*> m_publisher_map;
105 std::shared_ptr<ifw::ccf::common::FrameQueue> m_proc_thr_output_q;
Class to be used as parent all CCF classes.
Definition base.hpp:120
Frame class used to store the data and metadata for one frames received from the camera.
Definition dataFrame.hpp:18
The FrameQueue class implements a queue, to manage a set of CCF DataFrame instances as a ring buffer.
Definition frameQueue.hpp:15
Class used by the threads to store info for generating performance statistics.
Definition utilities.hpp:27
Class for implementing CCF Data Publishers.
Definition pubBase.hpp:115
Processing Thread MPTK Thread implementation (see also ifw::ccf::mptk::Thread).
Definition procThread.hpp:16
Publisher Thread MPTK Thread implementation (see also ifw::ccf::mptk::Thread).
Definition pubThread.hpp:16
void SetParentProcThreadName(const std::string &parent_proc_thread_name)
Set the name of the parent Processing Thread in the object.
Definition pubThread.cpp:314
ifw::ccf::PubStatus GetStatus() const
Return Publishing Status of this Publisher Thread.
Definition pubThread.cpp:269
virtual void UserLogic()
Use logic invoked periodically (ifw::ccf::mptk::Thread).
Definition pubThread.cpp:72
PubThread(const std::string &thread_name, ifw::ccf::mptk::MessageBus &message_bus, const double period=0.1)
Definition pubThread.cpp:29
virtual ~PubThread()
Definition pubThread.cpp:41
ifw::ccf::common::PubBase & GetPublisher()
Get the reference to the internal publisher object.
Definition pubThread.cpp:304
uint8_t NbOfPublishers() const
Definition pubThread.cpp:288
const std::list< ifw::ccf::common::PubBase * > & GetPublishers() const
Get the list of internal Data Publisher (objects).
Definition pubThread.cpp:309
const std::string & GetParentProcThreadName() const
Return the name of the parent Processing Thread from the object.
Definition pubThread.cpp:319
void SetProcThrOutputQ(std::shared_ptr< ifw::ccf::common::FrameQueue > &queue)
Set reference to the Output Queue of this Processing Thread.
Definition pubThread.cpp:121
void SetStatus(const ifw::ccf::PubStatus status)
Set the Publishing Status of this Publisher Thread.
Definition pubThread.cpp:134
ifw::ccf::common::FrameStatistics & GetFrameStat()
Get reference to frame handling statistics.
Definition pubThread.cpp:328
void AddPublisher(ifw::ccf::common::PubBase &pub_obj)
Definition pubThread.cpp:274
void Initialise()
Initialise this thread (object).
Definition pubThread.cpp:57
static void SetStatusAll(const ifw::ccf::PubStatus status)
Set the Publishing Status of all Publisher Threads running.
Definition pubThread.cpp:12
ifw::ccf::common::FrameQueue & GetProcThrOutputQ()
Get reference to the Output Queue of this Processing Thread.
Definition pubThread.cpp:126
IFW CTD Multiprocessing Toolkit Message Bus.
Definition messageBus.hpp:91
IFW CTD Multiprocessing Toolkit Message class.
Definition message.hpp:24
IFW CTD Multiprocessing Toolkit Thread base class.
Definition thread.hpp:30
Definition acqThread.cpp:10
PubStatus
Defines the various possible states of a Data Publisher.
Definition base.hpp:178
Status
General status variable.
Definition base.hpp:156