ddt  0.1
informationMapsAccess.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file informationMapsAccess.hpp
8 // @brief Information maps access class, offers access to information maps.
9 //
10 // This file is part of the DDT Image Handling Library and
11 // provides a class that offers access to information maps.
12 //
13 // @author Christoph Bortlisz, CGI
14 // @since 2021/06/30
15 //
16 
17 #ifndef INFORMATIONMAPSACCESS_HPP
18 #define INFORMATIONMAPSACCESS_HPP
19 
20 #include <cpl.h>
21 #include <sys/stat.h>
22 
23 #include <algorithm>
24 #include <cctype>
25 #include <unordered_map>
26 #undef I
27 #undef arg
28 
29 #include <boost/bind.hpp>
30 #include <boost/signals2/signal.hpp>
31 #include <boost/tokenizer.hpp>
32 #include "boost/property_tree/json_parser.hpp"
33 #include "boost/property_tree/ptree.hpp"
34 
35 #include "ddt/ddtLogger.hpp"
36 
40 typedef boost::signals2::signal<void()> signal_t;
41 
42 namespace ddt {
43 
49  public:
54  explicit InformationMapsAccess();
55 
60 
65  virtual void set_logger(ddt::DdtLogger* const in_logger);
66 
71  virtual std::list<std::string> get_InformationMaps();
72 
79  virtual boost::property_tree::ptree* get_InformationMap(
80  const std::string identification);
81 
86  virtual void LoadInformationMaps(const std::string info_map_source) = 0;
87 
88  protected:
93 
97  std::unordered_map<std::string, boost::property_tree::ptree*> informationMaps;
98 
99  private:
103  void initialize();
104 };
105 
106 } // namespace ddt
107 
108 #endif /* INFORMATIONMAPSACCESS_HPP */
ddt::InformationMapsAccess::get_InformationMap
virtual boost::property_tree::ptree * get_InformationMap(const std::string identification)
Definition: informationMapsAccess.cpp:45
ddt::InformationMapsAccess::set_logger
virtual void set_logger(ddt::DdtLogger *const in_logger)
Definition: informationMapsAccess.cpp:28
ddt::DdtLogger
Definition: ddtLogger.hpp:48
ddt
Definition: ddtClient.hpp:36
signal_t
boost::signals2::signal< void()> signal_t
Definition: informationMapsAccess.hpp:40
ddt::InformationMapsAccess::~InformationMapsAccess
virtual ~InformationMapsAccess()
ddt::InformationMapsAccess
Definition: informationMapsAccess.hpp:48
ddt::InformationMapsAccess::informationMaps
std::unordered_map< std::string, boost::property_tree::ptree * > informationMaps
Definition: informationMapsAccess.hpp:97
ddt::InformationMapsAccess::LoadInformationMaps
virtual void LoadInformationMaps(const std::string info_map_source)=0
ddt::InformationMapsAccess::InformationMapsAccess
InformationMapsAccess()
Definition: informationMapsAccess.cpp:23
ddtLogger.hpp
ddt::InformationMapsAccess::get_InformationMaps
virtual std::list< std::string > get_InformationMaps()
Definition: informationMapsAccess.cpp:34
ddt::InformationMapsAccess::logger
ddt::DdtLogger * logger
Definition: informationMapsAccess.hpp:92