ddt  0.1
configurationMapsAccess.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 configurationMapsAccess.hpp
8 // @brief Configuration maps access class, offers access to configuration maps.
9 //
10 // This file is part of the DDT Image Handling Library and
11 // provides a class that offers access to configuration maps.
12 //
13 // @author Christoph Bortlisz, CGI
14 // @since 2020/09/23
15 //
16 
17 #ifndef CONFIGURATIONMAPSACCESS_HPP
18 #define CONFIGURATIONMAPSACCESS_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/bind.hpp>
30 #include <boost/signals2/signal.hpp>
31 #include <boost/tokenizer.hpp>
32 
33 #include "ddt/ddtLogger.hpp"
34 
38 typedef boost::signals2::signal<void()> signal_t;
39 
40 namespace ddt {
41 
47  public:
52  explicit ConfigurationMapsAccess();
53 
58 
63  virtual void set_logger(ddt::DdtLogger* logger);
64 
69  virtual std::list<std::string> get_ConfigurationMaps();
70 
77  virtual cpl_image* get_ConfigurationMap(const std::string identification);
78 
83  virtual void LoadConfigurationMaps(std::string config_map_source) = 0;
84 
85  protected:
90 
94  std::unordered_map<std::string, cpl_image*> configurationMaps;
95 
96  private:
100  void initialize();
101 };
102 
103 } // namespace ddt
104 
105 #endif /* CONFIGURATIONMAPSACCESS_HPP */
ddt::ConfigurationMapsAccess::set_logger
virtual void set_logger(ddt::DdtLogger *logger)
Definition: configurationMapsAccess.cpp:28
ddt::DdtLogger
Definition: ddtLogger.hpp:48
ddt::ConfigurationMapsAccess::configurationMaps
std::unordered_map< std::string, cpl_image * > configurationMaps
Definition: configurationMapsAccess.hpp:94
ddt
Definition: ddtClient.hpp:36
ddt::ConfigurationMapsAccess::LoadConfigurationMaps
virtual void LoadConfigurationMaps(std::string config_map_source)=0
ddt::ConfigurationMapsAccess::~ConfigurationMapsAccess
virtual ~ConfigurationMapsAccess()
signal_t
boost::signals2::signal< void()> signal_t
Definition: configurationMapsAccess.hpp:38
ddt::ConfigurationMapsAccess::logger
ddt::DdtLogger * logger
Definition: configurationMapsAccess.hpp:89
ddtLogger.hpp
ddt::ConfigurationMapsAccess::ConfigurationMapsAccess
ConfigurationMapsAccess()
Definition: configurationMapsAccess.cpp:23
ddt::ConfigurationMapsAccess::get_ConfigurationMaps
virtual std::list< std::string > get_ConfigurationMaps()
Definition: configurationMapsAccess.cpp:34
ddt::ConfigurationMapsAccess
Definition: configurationMapsAccess.hpp:46
ddt::ConfigurationMapsAccess::get_ConfigurationMap
virtual cpl_image * get_ConfigurationMap(const std::string identification)
Definition: configurationMapsAccess.cpp:45