rad  5.1.0
dataContext.hpp
Go to the documentation of this file.
1 
9 #ifndef EXMALSERVER_DATA_CONTEXT_HPP_
10 #define EXMALSERVER_DATA_CONTEXT_HPP_
11 
12 #include "config.hpp"
13 #include "dbInterface.hpp"
14 
15 #include <atomic>
16 
17 namespace exmalserver {
18 
23 class DataContext {
24  public:
35  DataContext(Config& config, rad::DbAdapter& db_adapter);
36 
40  virtual ~DataContext();
41 
45  void ReloadConfig();
46 
50  void UpdateDb();
51 
56 
60  void GetTargetAltAz(float& alt, float& az);
61 
65  void SetTargetAltAz(const float alt, const float az);
66 
67  DataContext(const DataContext&) = delete;
68  DataContext& operator=(const DataContext&) = delete;
69 
70  private:
71  Config& m_config;
72  rad::DbAdapter& m_runtime_db;
73  DbInterface m_db_interface;
74  std::atomic<float> m_alt;
75  std::atomic<float> m_az;
76 };
77 
78 } // namespace exmalserver
79 
80 #endif // EXMALSERVER_DATA_CONTEXT_HPP_
Definition: config.hpp:41
Definition: dataContext.hpp:23
DataContext(Config &config, rad::DbAdapter &db_adapter)
Definition: dataContext.cpp:18
DataContext(const DataContext &)=delete
void GetTargetAltAz(float &alt, float &az)
Definition: dataContext.cpp:59
void ReloadConfig()
Definition: dataContext.cpp:30
void SetTargetAltAz(const float alt, const float az)
Definition: dataContext.cpp:65
DbInterface & GetDbInterface()
Definition: dataContext.cpp:54
void UpdateDb()
Definition: dataContext.cpp:37
DataContext & operator=(const DataContext &)=delete
Disable copy constructor.
virtual ~DataContext()
Definition: dataContext.cpp:28
Definition: dbInterface.hpp:36
Definition: dbAdapter.hpp:29
Definition: actionMgr.cpp:24
DbInterface class header file.
Dummy Config that can be used for unit testing.