uatools 1.0.0-pre2
 
Loading...
Searching...
No Matches
taskPoll.hpp
Go to the documentation of this file.
1
8
9#ifndef ESO_UATOOLS_PROTOCOL_OPEN62541_TASK_POLL_H_
10#define ESO_UATOOLS_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 // ESO_UATOOLS_PROTOCOL_OPEN62541_TASK_POLL_H_
TaskPoll(const TaskPoll &)=delete
Disable copy constructor.
void StartThread()
Definition taskPoll.cpp:30
virtual ~TaskPoll()
Default destructor.
Definition taskPoll.cpp:27
bool IsRunning()
Definition taskPoll.cpp:117
TaskPoll & operator=(const TaskPoll &)=delete
Disable assignment operator.
TaskPoll(std::chrono::milliseconds period)
Class constructor.
Definition taskPoll.cpp:23
void Run()
Thread run method.
Definition taskPoll.cpp:46
void StopThread()
Definition taskPoll.cpp:35
Definition iDataChangeHandler.hpp:27