ifw-core  5.0.0-pre2
taskOldb.hpp
Go to the documentation of this file.
1 
8 #ifndef CORE_UTILS_BAT_TASK_OLDB_HPP_
9 #define CORE_UTILS_BAT_TASK_OLDB_HPP_
10 
11 // System headers
12 #include <string>
13 
14 // Local headers
15 #include <rad/activity.hpp>
16 #include <rad/doubleMap.hpp>
17 #include <rad/cii/oldbAdapter.hpp>
18 #include <rad/cii/oldbTypes.hpp>
19 
20 #include <utils/bat/logger.hpp>
21 
22 
23 namespace utils::bat {
32  class TaskOldb {
33  public:
34 
42  TaskOldb(rad::DoubleMap<rad::cii::OldbType>& oldb_map,
43  rad::cii::OldbAdapter& oldb_adapter,
44  std::chrono::milliseconds period);
45 
49  virtual ~TaskOldb();
50 
58  void Run();
59 
60  void StartThread();
61  void StopThread();
62 
63  TaskOldb(const TaskOldb&) = delete;
64  TaskOldb& operator= (const TaskOldb&) = delete;
65 
66  private:
67  rad::DoubleMap<rad::cii::OldbType>& m_oldb_map;
68  rad::cii::OldbAdapter& m_oldb_adapter;
69  std::chrono::milliseconds m_period;
70 
72  std::thread m_oldb_thread;
73 
75  std::atomic<bool> m_stopped {false};
76 
77  log4cplus::Logger m_logger;
78  };
79 
80 } // namespace utils::bat
81 
82 #endif // CORE_UTILS_BAT_TASK_OLDB_HPP_
Definition: taskOldb.hpp:32
TaskOldb(const TaskOldb &)=delete
Disable copy constructor.
void StopThread()
Definition: taskOldb.cpp:55
void StartThread()
Definition: taskOldb.cpp:48
TaskOldb(rad::DoubleMap< rad::cii::OldbType > &oldb_map, rad::cii::OldbAdapter &oldb_adapter, std::chrono::milliseconds period)
Class constructor.
Definition: taskOldb.cpp:32
virtual ~TaskOldb()
Default destructor.
Definition: taskOldb.cpp:43
TaskOldb & operator=(const TaskOldb &)=delete
Disable assignment operator.
void Run()
Thread run method.
Definition: taskOldb.cpp:67
Logger header file.
log4cplus::Logger & Logger()
Definition: defines.cpp:13
Definition: config.cpp:31