ifw-slm 0.1.2
 
Loading...
Searching...
No Matches
dataContext.hpp
Go to the documentation of this file.
1
9#ifndef IFWSLM_DATA_CONTEXT_HPP
10#define IFWSLM_DATA_CONTEXT_HPP
11
14
15#include <rad/dataContext.hpp>
16#include <rad/oldbAsyncWriter.hpp>
17#include <rad/mal/publisher.hpp>
18#include <Stdif.hpp> // for stdif::Status
19
20#include <memory>
21#include <string>
22
23namespace ifw::slm {
24
29class DataContext : public rad::DataContext {
30 public:
38
42 virtual ~DataContext();
43
48 void Initialize() override;
49
54
59
63 void ReloadConfig();
64
68 void UpdateDb();
69
73 rad::OldbAsyncWriter& GetOldbAsyncWriter() { return m_oldb_async_writer; }
74
79 void PublishStatus(const std::string& status);
80
81 DataContext(const DataContext&) = delete;
82 DataContext& operator=(const DataContext&) = delete;
83
84 private:
85 Config m_config;
86 OldbInterface m_oldb_interface;
87 rad::OldbAsyncWriter m_oldb_async_writer;
88 std::unique_ptr<rad::cii::Publisher<stdif::Status>> m_publisher; // MAL pub/sub publisher
89
90};
91
92} // namespace ifw::slm
93
94#endif // IFWSLM_DATA_CONTEXT_HPP
Definition config.hpp:48
DataContext()
Definition dataContext.cpp:24
void UpdateDb()
Definition dataContext.cpp:69
Config & GetConfig()
Definition dataContext.cpp:89
rad::OldbAsyncWriter & GetOldbAsyncWriter()
Definition dataContext.hpp:73
void Initialize() override
Definition dataContext.cpp:39
void PublishStatus(const std::string &status)
Definition dataContext.cpp:94
OldbInterface & GetOldbInterface()
Definition dataContext.cpp:84
virtual ~DataContext()
Definition dataContext.cpp:35
DataContext(const DataContext &)=delete
DataContext & operator=(const DataContext &)=delete
Disable copy constructor.
void ReloadConfig()
Definition dataContext.cpp:62
Definition oldbInterface.hpp:44
Config class header file.
Definition actionMgr.cpp:29
OldbInterface class header file.