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