Bridge++  Version 1.4.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
parameterManager.cpp
Go to the documentation of this file.
1 
14 #include "parameterManager_YAML.h"
15 #include "parameterManager_XML.h"
16 
17 const std::string ParameterManager::class_name = "ParameterManager";
18 
19 //====================================================================
20 Parameters ParameterManager::read(const std::string& params_file)
21 {
22  Parameters params;
23 
24  read(params_file, params);
25  return params;
26 }
27 
28 
29 //====================================================================
30 void ParameterManager::read(const std::string& params_file, Parameters& params)
31 {
32  if (params_file.size() == 0) return;
33 
34  std::string ext = params_file.substr(params_file.find_last_of('.'));
35 
36  vout.paranoiac("ext = %s\n", ext.c_str());
37 
38  if (ext == ".yaml") {
39  return ParameterManager_YAML().read_params(params_file, params);
40  } else if (ext == ".xml") {
41  return ParameterManager_XML().read_params(params_file, params);
42  } else {
43  vout.crucial("Error at %s: unrecognized file type: %s\n", class_name.c_str(), params_file.c_str());
44  exit(EXIT_FAILURE);
45  }
46 }
47 
48 
49 //====================================================================
50 //============================================================END=====
BridgeIO vout
Definition: bridgeIO.cpp:495
Class for parameters.
Definition: parameters.h:46
Parameter manager with YAML parser.
static const std::string class_name
void paranoiac(const char *format,...)
Definition: bridgeIO.cpp:229
void crucial(const char *format,...)
Definition: bridgeIO.cpp:178
void read_params(const std::string &params_file, Parameters &params)
read parameters from file.
static void read(const std::string &params_file, Parameters &params)
void read_params(const std::string &params_file, Parameters &params)
read parameters from file.
Parameter manager with YAML parser.