HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
inMemoryOldbloader.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_INMEMORY_OLDB_LOADER_HPP
14#define HLCC_INMEMORY_OLDB_LOADER_HPP
15
16#include <ciiOldbFactory.hpp>
17#include <ciiOldbProviderFactory.hpp>
18#include <ciiOldbDataPoint.hpp>
19#include <ciiOldbSubscription.hpp>
20#include <ciiOldbDpValue.hpp>
21#include <ciiOldbExceptions.hpp>
22#include <ciiOldbUtil.hpp>
23
24#include <meta/mdOldb.hpp>
25#include <meta/mdOldbMatrix.hpp>
26#include <ciiOldbConfigClass.hpp>
27#include <mal/utility/Uri.hpp>
28
29#include <provider/ciiOldbInMemoryDataPointProvider.hpp>
30#include <provider/ciiOldbLocalFileProvider.hpp>
31#include <provider/ciiOldbDirectoryTreeProvider.hpp>
32
33#include <yaml-cpp/yaml.h>
34#include <string>
35
36
41 public:
45 InMemoryOldbLoader(std::shared_ptr<elt::oldb::CiiOldb> oldb_instance);
46
50 virtual ~InMemoryOldbLoader();
51
60 bool LoadOldbSpecificationFromFile(std::string file_path, std::string oldb_prefix);
61
70 bool LoadOldbSpecificationFromString(std::string oldb_spec_str, std::string oldb_prefix);
71
80 bool DeleteOldbSpecificationFromFile(std::string file_path, std::string oldb_prefix);
81
90 bool DeleteOldbSpecificationFromString(std::string oldb_spec_str, std::string oldb_prefix);
91
92 private:
102 bool GetBasicDataTypeFromStr(std::string type_str, ::elt::common::CiiBasicDataType& dt_type);
103
110 template<typename T>
111 void CreateDataPoint(const YAML::detail::iterator_value &node_iterator, std::string uri_prefix);
112
121 bool LoadOldbSpecification(YAML::Node& node, std::string oldb_prefix);
122
131 bool DeleteOldbSpecification(YAML::Node& node, std::string oldb_prefix);
132
133 /* member variables */
134 std::shared_ptr<elt::oldb::CiiOldb> m_oldb_instance;
135};
136
137#endif // HLCC_INMEMORY_OLDB_LOADER_HPP
Definition inMemoryOldbloader.hpp:40
virtual ~InMemoryOldbLoader()
Definition inMemoryOldbloader.cpp:24
InMemoryOldbLoader(std::shared_ptr< elt::oldb::CiiOldb > oldb_instance)
Definition inMemoryOldbloader.cpp:20
bool LoadOldbSpecificationFromFile(std::string file_path, std::string oldb_prefix)
Definition inMemoryOldbloader.cpp:75
bool DeleteOldbSpecificationFromFile(std::string file_path, std::string oldb_prefix)
Definition inMemoryOldbloader.cpp:326
bool LoadOldbSpecificationFromString(std::string oldb_spec_str, std::string oldb_prefix)
Definition inMemoryOldbloader.cpp:66
bool DeleteOldbSpecificationFromString(std::string oldb_spec_str, std::string oldb_prefix)
Definition inMemoryOldbloader.cpp:334