Aktualizr
C++ SOTA Client
All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
context.cc
1 #include "context.h"
2 #include <boost/program_options.hpp>
3 #include "logging/logging.h"
4 
5 using namespace boost::filesystem;
6 namespace po = boost::program_options;
7 
8 Config configure(const path& cfgFile, const int logLevel) {
9  po::variables_map vm;
10  vm.insert(std::make_pair("loglevel", po::variable_value(logLevel, false)));
11  const std::vector<path> configDirs{cfgFile};
12  vm.insert(std::make_pair("config", po::variable_value(configDirs, false)));
13  po::notify(vm);
14  return Config{vm};
15 }
16 
17 std::vector<Config> loadDeviceConfigurations(const path& baseDir) {
18  const int severity = loggerGetSeverity();
19  std::vector<Config> configs;
20  for (directory_entry& x : directory_iterator(baseDir)) {
21  const path sotaToml = x / "sota.toml";
22  configs.push_back(configure(sotaToml, severity));
23  }
24  return configs;
25 }
Config
Configuration object for an aktualizr instance running on a primary ECU.
Definition: config.h:73