ifw-core 6.0.0
Loading...
Searching...
No Matches
taskPoll.hpp
Go to the documentation of this file.
1
8#ifndef CORE_PROTOCOL_OPEN62541_TASK_POLL_H_
9#define CORE_PROTOCOL_OPEN62541_TASK_POLL_H_
10
11#include <string>
12#include <thread>
13#include <atomic>
14#include <chrono>
15
17
26 class TaskPoll {
27 public:
28
36 TaskPoll(std::chrono::milliseconds period);
37
41 virtual ~TaskPoll();
42
50 void Run();
51
52 void StartThread();
53 void StopThread();
54 bool IsRunning();
55
56 TaskPoll(const TaskPoll&) = delete;
57 TaskPoll& operator= (const TaskPoll&) = delete;
58
59 private:
60
61 std::chrono::milliseconds m_period;
62
64 std::thread m_poll_thread;
65
67 std::atomic<bool> m_stopped {false};
68
69 };
70
71} // namespace
72
73#endif // CORE_PROTOCOL_OPEN62541_TASK_POLL_H_
Definition taskPoll.hpp:26
TaskPoll & operator=(const TaskPoll &)=delete
Disable assignment operator.
void StopThread()
Definition taskPoll.cpp:32
bool IsRunning()
Definition taskPoll.cpp:101
void StartThread()
Definition taskPoll.cpp:27
TaskPoll(std::chrono::milliseconds period)
Class constructor.
Definition taskPoll.cpp:20
TaskPoll(const TaskPoll &)=delete
Disable copy constructor.
void Run()
Thread run method.
Definition taskPoll.cpp:43
virtual ~TaskPoll()
Default destructor.
Definition taskPoll.cpp:24
taskPoll class header file.
Definition iDataChangeHandler.hpp:28