rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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_
void SetTargetAltAz(const float alt, const float az)
Definition: dataContext.cpp:65
Definition: dataContext.hpp:23
void GetTargetAltAz(float &alt, float &az)
Definition: dataContext.cpp:59
Definition: dbAdapter.hpp:29
void UpdateDb()
Definition: dataContext.cpp:37
Definition: config.hpp:41
required float az
Definition: exmalif.proto:20
void ReloadConfig()
Definition: dataContext.cpp:30
DataContext & operator=(const DataContext &)=delete
Disable copy constructor.
Definition: dbInterface.hpp:36
Config class header file.
DbInterface class header file.
virtual ~DataContext()
Definition: dataContext.cpp:28
DbInterface & GetDbInterface()
Definition: dataContext.cpp:54
DataContext(Config &config, rad::DbAdapter &db_adapter)
Definition: dataContext.cpp:18