HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
dataContext.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020-2025 European Southern Observatory (ESO)
2//
3// SPDX-License-Identifier: LGPL-3.0-only
4
13#ifndef HLCC_PFSSIMHLCC_DATACONTEXT_HPP
14#define HLCC_PFSSIMHLCC_DATACONTEXT_HPP
15
16#include <mutex>
17#include <memory>
18
19#include <taiclock/taiClock.hpp>
20#include <rad/dataContext.hpp>
21#include "mal/utility/shared_vector.hpp"
22#include "Ccsinsif.hpp"
23#include "Ccsinsdetif.hpp"
24
25#include "pfssimhlcc/config.hpp"
28
29
30
31
32
33
34namespace hlcc::pfssimhlcc {
35
36
41class DataContext : public rad::DataContext {
42 public:
50 DataContext(std::shared_ptr<OldbInterface> oldb_interface = nullptr);
51
55 virtual ~DataContext();
56
57
61 void ReloadConfig() override;
62
66 Config& GetConfig() override;
67
72 const Config& GetConfigConst() const;
73
78 void UpdateDb() override;
79
84
85
91 void EnablePublishing(bool enabled);
92
96 bool IsPublishingEnabled() const;
97
99 DataContext(const DataContext&) = delete;
101
102 private:
107 Config m_config;
108
113 std::shared_ptr<OldbInterface> m_oldb_interface;
114
115 bool m_is_publishing_enabled;
124 mutable std::recursive_mutex m_mutex;
125};
126
127
128
129} // namespace hlcc::pfssimhlcc
130
131#endif // HLCC_PFSSIMHLCC_DATACONTEXT_HPP
Definition config.hpp:213
Definition dataContext.hpp:41
void EnablePublishing(bool enabled)
Definition dataContext.cpp:74
DataContext(const DataContext &)=delete
OldbInterface & GetOldbInterface() override
Definition dataContext.cpp:69
DataContext(std::shared_ptr< OldbInterface > oldb_interface=nullptr)
Definition dataContext.cpp:29
DataContext & operator=(const DataContext &)=delete
Disable copy constructor.
void UpdateDb() override
Definition dataContext.cpp:45
Config & GetConfig() override
Definition dataContext.cpp:87
virtual ~DataContext()
Definition dataContext.cpp:37
const Config & GetConfigConst() const
Definition dataContext.cpp:93
bool IsPublishingEnabled() const
Definition dataContext.cpp:80
void ReloadConfig() override
Definition dataContext.cpp:99
Definition oldbInterface.hpp:54
Definition actionMgr.cpp:34
Config class header file.
Performance and other monitoring.
OldbInterface class header file.