#include <config_file.h>
Example: see the CConfigFile example
Nevrax France
Definition at line 132 of file config_file.h.
Internal use | |
enum | TVarType { T_UNKNOWN, T_INT, T_STRING, T_REAL } |
void(* | Callback )(CVar &var) |
bool | Comp |
std::vector< int > | IntValues |
std::string | Name |
std::vector< double > | RealValues |
bool | Root |
int | SaveWrap |
std::vector< std::string > | StrValues |
TVarType | Type |
char * | TypeName [] = { "Integer", "String", "Float" } |
Public Types | |
Public Member Functions | |
void | add (const CVar &var) |
CVar () | |
bool | operator!= (const CVar &var) const |
bool | operator== (const CVar &var) const |
int | size () const |
Access to the variable content. | |
double | asDouble (int index=0) const |
Get the content of the variable as a double. | |
float | asFloat (int index=0) const |
Get the content of the variable as a float. | |
int | asInt (int index=0) const |
Get the content of the variable as an integer. | |
std::string | asString (int index=0) const |
Get the content of the variable as a STL string. | |
Set the variable content. | |
If the index is the size of the array, the value will be append at the end. | |
void | setAsDouble (std::vector< double > vals) |
Set the content of the aray variable as a double. | |
void | setAsDouble (double val, int index=0) |
Set the content of the variable as a double. | |
void | setAsFloat (std::vector< float > vals) |
Set the content of the aray variable as a float. | |
void | setAsFloat (float val, int index=0) |
Set the content of the variable as a float. | |
void | setAsInt (std::vector< int > vals) |
Set the content of the aray variable as an integer. | |
void | setAsInt (int val, int index=0) |
Set the content of the variable as an integer. | |
void | setAsString (std::vector< std::string > vals) |
Set the content of the aray variable as a string. | |
void | setAsString (std::string val, int index=0) |
Set the content of the variable as a STL string. |
|
Definition at line 186 of file config_file.h.
|
|
Definition at line 136 of file config_file.h. References SaveWrap, and T_UNKNOWN.
|
|
Definition at line 202 of file config_file.cpp. References IntValues, RealValues, StrValues, T_INT, T_REAL, T_STRING, and Type.
00203 { 00204 if (Type == var.Type) 00205 { 00206 switch (Type) 00207 { 00208 case T_INT: IntValues.insert (IntValues.end(), var.IntValues.begin(), var.IntValues.end()); break; 00209 case T_REAL: RealValues.insert (RealValues.end(), var.RealValues.begin(), var.RealValues.end()); break; 00210 case T_STRING: StrValues.insert (StrValues.end(), var.StrValues.begin(), var.StrValues.end()); break; 00211 default: break; 00212 } 00213 } 00214 } |
|
Get the content of the variable as a double.
Definition at line 75 of file config_file.cpp. References CheckType, index, IntValues, RealValues, StrValues, T_INT, T_REAL, and T_STRING. Referenced by asFloat().
00076 { 00077 if (CheckType && Type != T_REAL) throw EBadType (Name, Type, T_REAL); 00078 switch (Type) 00079 { 00080 case T_INT: 00081 if (index >= (int)IntValues.size () || index < 0) throw EBadSize (Name, IntValues.size (), index); 00082 return (double)IntValues[index]; 00083 case T_STRING: 00084 if (index >= (int)StrValues.size () || index < 0) throw EBadSize (Name, StrValues.size (), index); 00085 return atof(StrValues[index].c_str()); 00086 default: 00087 if (index >= (int)RealValues.size () || index < 0) throw EBadSize (Name, RealValues.size (), index); 00088 return RealValues[index]; 00089 } 00090 } |
|
Get the content of the variable as a float.
Definition at line 92 of file config_file.cpp. References asDouble(), and index. Referenced by NLLIGO::CLigoConfig::read().
00093 { 00094 return (float) asDouble (index); 00095 } |
|
Get the content of the variable as an integer.
Definition at line 58 of file config_file.cpp. References CheckType, index, IntValues, RealValues, StrValues, T_INT, T_REAL, and T_STRING. Referenced by NLNET::cbSimVar(), NLNET::cfcbAcceptInvalidCookie(), NLNET::cfcbTimeBeforeEraseCookie(), NLNET::IService::main(), and NLLIGO::CLigoConfig::read().
00059 { 00060 if (CheckType && Type != T_INT) throw EBadType (Name, Type, T_INT); 00061 switch (Type) 00062 { 00063 case T_STRING: 00064 if (index >= (int)StrValues.size () || index < 0) throw EBadSize (Name, StrValues.size (), index); 00065 return atoi(StrValues[index].c_str()); 00066 case T_REAL: 00067 if (index >= (int)RealValues.size () || index < 0) throw EBadSize (Name, RealValues.size (), index); 00068 return (int)RealValues[index]; 00069 default: 00070 if (index >= (int)IntValues.size () || index < 0) throw EBadSize (Name, IntValues.size (), index); 00071 return IntValues[index]; 00072 } 00073 } |
|
Get the content of the variable as a STL string.
Definition at line 97 of file config_file.cpp. References CheckType, index, IntValues, RealValues, StrValues, T_INT, T_REAL, T_STRING, and NLMISC::toString(). Referenced by NLNET::cbExecuteCommands(), NLNET::cbLogFilter(), NLMISC::cbVarChanged(), NLNET::cfcbDefaultUserPriv(), NLNET::cfcbListenAddress(), NLMISC::IVariable::init(), NLNET::IService::main(), NLLIGO::CLigoConfig::read(), and NLMISC::CConfigFile::reparse().
00098 { 00099 if (CheckType && Type != T_STRING) throw EBadType (Name, Type, T_STRING); 00100 switch (Type) 00101 { 00102 case T_INT: 00103 if (index >= (int)IntValues.size () || index < 0) throw EBadSize (Name, IntValues.size (), index); 00104 return toString(IntValues[index]); 00105 case T_REAL: 00106 if (index >= (int)RealValues.size () || index < 0) throw EBadSize (Name, RealValues.size (), index); 00107 return toString(RealValues[index]); 00108 default: 00109 if (index >= (int)StrValues.size () || index < 0) throw EBadSize (Name, StrValues.size (), index); 00110 return StrValues[index]; 00111 } 00112 } |
|
Definition at line 197 of file config_file.cpp.
00198 { 00199 return !(*this==var); 00200 } |
|
Definition at line 182 of file config_file.cpp. References IntValues, RealValues, StrValues, T_INT, T_REAL, T_STRING, and Type.
00183 { 00184 if (Type == var.Type) 00185 { 00186 switch (Type) 00187 { 00188 case T_INT: return IntValues == var.IntValues; break; 00189 case T_REAL: return RealValues == var.RealValues; break; 00190 case T_STRING: return StrValues == var.StrValues; break; 00191 default: break; 00192 } 00193 } 00194 return false; 00195 } |
|
Set the content of the aray variable as a double.
Definition at line 155 of file config_file.cpp. References RealValues, and T_REAL.
00156 { 00157 if (Type != T_REAL) throw EBadType (Name, Type, T_REAL); 00158 else RealValues = vals; 00159 Root = false; 00160 } |
|
Set the content of the variable as a double.
Definition at line 125 of file config_file.cpp. References index, RealValues, and T_REAL. Referenced by setAsFloat().
00126 { 00127 if (Type != T_REAL) throw EBadType (Name, Type, T_REAL); 00128 else if (index > (int)RealValues.size () || index < 0) throw EBadSize (Name, RealValues.size (), index); 00129 else if (index == (int)RealValues.size ()) RealValues.push_back(val); 00130 else RealValues[index] = val; 00131 Root = false; 00132 } |
|
Set the content of the aray variable as a float.
Definition at line 162 of file config_file.cpp. References RealValues, T_REAL, and uint.
00163 { 00164 if (Type != T_REAL) throw EBadType (Name, Type, T_REAL); 00165 else 00166 { 00167 RealValues.clear (); 00168 RealValues.resize (vals.size ()); 00169 for (uint i = 0; i < vals.size (); i++) 00170 RealValues[i] = (double)vals[i]; 00171 } 00172 Root = false; 00173 } |
|
Set the content of the variable as a float.
Definition at line 134 of file config_file.cpp. References index, and setAsDouble().
00135 { 00136 setAsDouble (val, index); 00137 } |
|
Set the content of the aray variable as an integer.
Definition at line 148 of file config_file.cpp. References IntValues, and T_INT.
|
|
Set the content of the variable as an integer.
Definition at line 116 of file config_file.cpp. References index, IntValues, and T_INT.
00117 { 00118 if (Type != T_INT) throw EBadType (Name, Type, T_INT); 00119 else if (index > (int)IntValues.size () || index < 0) throw EBadSize (Name, IntValues.size (), index); 00120 else if (index == (int)IntValues.size ()) IntValues.push_back(val); 00121 else IntValues[index] = val; 00122 Root = false; 00123 } |
|
Set the content of the aray variable as a string.
Definition at line 175 of file config_file.cpp. References StrValues, and T_STRING.
|
|
Set the content of the variable as a STL string.
Definition at line 139 of file config_file.cpp. References index, StrValues, and T_STRING.
00140 { 00141 if (Type != T_STRING) throw EBadType (Name, Type, T_STRING); 00142 else if (index > (int)StrValues.size () || index < 0) throw EBadSize (Name, StrValues.size (), index); 00143 else if (index == (int)StrValues.size ()) StrValues.push_back(val); 00144 else StrValues[index] = val; 00145 Root = false; 00146 } |
|
Definition at line 216 of file config_file.cpp. References IntValues, RealValues, StrValues, T_INT, T_REAL, and T_STRING. Referenced by NLNET::cbExecuteCommands(), NLNET::cbLogFilter(), and NLNET::IService::main().
|
|
Referenced by NLMISC::CConfigFile::setCallback(). |
|
Definition at line 191 of file config_file.h. Referenced by NLMISC::CConfigFile::setCallback(). |
|
Definition at line 192 of file config_file.h. Referenced by add(), asDouble(), asInt(), asString(), operator==(), setAsInt(), and size(). |
|
Definition at line 188 of file config_file.h. Referenced by NLNET::cbLogFilter(), NLNET::cbSimVar(), NLMISC::cbVarChanged(), NLMISC::CConfigFile::insertVar(), and NLMISC::CConfigFile::setCallback(). |
|
Definition at line 193 of file config_file.h. Referenced by add(), asDouble(), asInt(), asString(), operator==(), setAsDouble(), setAsFloat(), and size(). |
|
Definition at line 190 of file config_file.h. Referenced by NLMISC::CConfigFile::insertVar(). |
|
Definition at line 196 of file config_file.h. Referenced by CVar(). |
|
Definition at line 194 of file config_file.h. Referenced by add(), asDouble(), asInt(), asString(), operator==(), setAsString(), and size(). |
|
Definition at line 189 of file config_file.h. Referenced by add(), operator==(), and NLMISC::CConfigFile::setCallback(). |
|
Definition at line 56 of file config_file.cpp. |