OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
ModuleManager.hpp
Go to the documentation of this file.
1 
2 #ifndef FOCS_MODULEMANAGER
3 #define FOCS_MODULEMANAGER
4 
5 #include "Module.hpp"
6 
7 #include <boost/filesystem.hpp>
8 
9 #include <memory>
10 #include <vector>
11 
12 namespace focs {
13  class ModuleManager {
14  public:
15  ModuleManager(Log& log);
16  ModuleManager(const boost::filesystem::path& module_directory, Log& log);
18 
19  void load_modules();
20  const std::vector<std::shared_ptr<Module>>& get_modules() const;
21  const std::vector<ModuleLoader>& get_loaders() const;
22 
24  private:
26  std::vector<std::shared_ptr<Module>> modules_{};
27  std::vector<ModuleLoader> module_loaders_{};
28  // bool is_loaded_{false};
29  Log& log_;
30  ModuleConfiguration configuration_;
31  };
32 }
33 
34 #endif // FOCS_MODULEMANAGER
ModuleManager(Log &log)
static const boost::filesystem::path default_module_directory
const std::vector< ModuleLoader > & get_loaders() const
string path
Definition: color_dtdb.py:221
Multiple output, versatile logger.
Definition: Log.hpp:42
const std::vector< std::shared_ptr< Module > > & get_modules() const