PhoenixPresentation  2.0.0
Set of cmake function to automate presentation generation
phoenix_get_string.cpp
Go to the documentation of this file.
1 /***************************************
2  Auteur : Pierre Aubert
3  Mail : pierre.aubert@lapp.in2p3.fr
4  Licence : CeCILL-C
5 ****************************************/
6 
7 #include "phoenix_get_string.h"
8 
10 
13 bool phoenix_convertBoolType(const PString & strConfig){
14  PString config(strConfig.toLower());
15  return config == "true" || strConfig == "1" || config == "yes";
16 }
17 
19 
24 template<>
25 bool phoenix_load_value_from_config<bool>(const DicoValue & dico, const PString & varName, bool defaultValue){
26  const DicoValue * param = dico.getMap(varName);
27  if(param == NULL){
28  return defaultValue;
29  }else{
30  return phoenix_convertBoolType(param->getString());
31  }
32 }
33 
35 
41 template<>
42 bool phoenix_load_value_from_dico<bool>(bool & value, const DicoValue & dico, const PString & varName){
43  const DicoValue * param = dico.getMap(varName);
44  if(param == NULL){
45  return false;
46  }else{
47  value = phoenix_convertBoolType(param->getString());
48  return true;
49  }
50 }
51 
53 
58 template<>
59 bool phoenix_save_value_to_dico<bool>(DicoValue & dico, const bool & value, const PString & varName){
60  std::string strValue("false");
61  if(value){
62  strValue = "true";
63  }
64  return phoenix_save_value_to_dico(dico, strValue, varName);
65 }
66 
68 
72 void phoenix_get_vecstring(PVecString & vecValue, const DicoValue & dico, const PString & varName){
73  const DicoValue * param = dico.getMap(varName);
74  if(param == NULL){
75  return;
76  }
77  const VecDicoValue & vecChildValue = param->getVecChild();
78  for(VecDicoValue::const_iterator it(vecChildValue.begin()); it != vecChildValue.end(); ++it){
79  vecValue.push_back(it->getString());
80  }
81 }
82 
84 
88 PVecString phoenix_get_vecstring(const DicoValue & dico, const PString & varName){
89  PVecString out;
90  phoenix_get_vecstring(out, dico, varName);
91  return out;
92 }
93 
94 
96 
101 PString phoenix_get_string(const DicoValue & dico, const PString & varName, const PString & defaultValue){
102  const DicoValue * param = dico.getMap(varName);
103  if(param == NULL){
104  return defaultValue;
105  }else{
106  return param->getString();
107  }
108 }
109 
111 
117 PString phoenix_get_string(const DicoValue & dico, const PString & varName, const PString & defaultValue, const PString & defaultValue2){
118  const DicoValue * param = dico.getMap(varName);
119  if(param == NULL){
120  if(defaultValue != ""){
121  return defaultValue;
122  }else{
123  return defaultValue2;
124  }
125  }else{
126  return param->getString();
127  }
128 }
129 
130 
131 
std::vector< DicoValue > VecDicoValue
Vector of DicoValue.
Definition: DicoValue.h:77
std::vector< PString > PVecString
Definition: PString.h:96
Dictionnary of values.
Definition: DicoValue.h:17
const std::vector< DicoValue > & getVecChild() const
Gets the vecChild of the DicoValue.
Definition: DicoValue.cpp:204
const DicoValue * getMap(const PString &key) const
Get a DicoValue in the map of the current one.
Definition: DicoValue.cpp:116
PString getString() const
Get a string value without the first and/or last quote or double quote in there are some.
Definition: DicoValue.cpp:183
Extends the std::string.
Definition: PString.h:16
PString toLower() const
Convert PString in lower case.
Definition: PString.cpp:598
PString phoenix_get_string(const DicoValue &dico, const PString &varName, const PString &defaultValue)
Get the string from a dictionnary.
bool phoenix_load_value_from_dico< bool >(bool &value, const DicoValue &dico, const PString &varName)
Get bool value from a dictionnary (specialization for bool)
bool phoenix_convertBoolType(const PString &strConfig)
Convert the configuration of the cleaning type into a bool.
bool phoenix_save_value_to_dico< bool >(DicoValue &dico, const bool &value, const PString &varName)
Save the value to a dictionnary (specialization for bool)
bool phoenix_load_value_from_config< bool >(const DicoValue &dico, const PString &varName, bool defaultValue)
Get bool value from a dictionnary (specialization for bool)
void phoenix_get_vecstring(PVecString &vecValue, const DicoValue &dico, const PString &varName)
Load a vector of string from a dictionnary.
bool phoenix_save_value_to_dico(DicoValue &dico, const T &value, const PString &varName)
Save the value to a dictionnary.