rad  5.2.0
dataContext.hpp
Go to the documentation of this file.
1 
9 #ifndef RAD_DATA_CONTEXT_HPP
10 #define RAD_DATA_CONTEXT_HPP
11 
12 #include <rad/config.hpp>
13 #include <rad/oldbInterface.hpp>
14 
15 namespace rad {
16 
22 class DataContext {
23  public:
24  DataContext();
25 
26  virtual ~DataContext() = default;
27 
31  virtual void ReloadConfig() = 0;
32 
36  virtual Config& GetConfig() = 0;
37 
42  virtual void UpdateDb() = 0;
43 
48 
52  enum class TrsHealthState {
57  UNKNOWN,
62  DISABLED,
66  GOOD,
70  BAD
71  };
72 
76  virtual void SetTrsHealth(TrsHealthState health);
77 
81  virtual TrsHealthState GetTrsHealth();
82 
83 private:
87  std::atomic<TrsHealthState> m_trs_health;
88 
89 };
90 
91 } // namespace rad
92 
93 #endif // RAD_DATA_CONTEXT_HPP
Config class header file.
OldbInterface class header file.
Definition: config.hpp:67
Definition: dataContext.hpp:22
DataContext()
Definition: dataContext.cpp:16
virtual ~DataContext()=default
virtual void UpdateDb()=0
virtual Config & GetConfig()=0
virtual TrsHealthState GetTrsHealth()
Definition: dataContext.cpp:25
virtual void SetTrsHealth(TrsHealthState health)
Definition: dataContext.cpp:21
virtual OldbInterface & GetOldbInterface()=0
TrsHealthState
Definition: dataContext.hpp:52
virtual void ReloadConfig()=0
Definition: oldbInterface.hpp:34
Definition: actionsApp.cpp:22