1 #ifndef unt_INICover_stlH
2 #define unt_INICover_stlH
125 #include "global_definitions.h"
126 #include "libtools.h"
186 ParamAddress(
const std::string& p_section,
const std::string& p_paramName)
201 std::string MAC_DLLEXPORT
makeSubParam(
const std::string& p_param,
const std::string& p_subparam);
214 INITreeNode(
const std::map< std::string, std::string >& p_node)
218 std::map< std::string, std::string > mNodeData;
223 std::string mParamValue;
224 std::string mParamDescr;
229 struct stc_ParamLines
231 stc_ParamLines(
const std::string& p_paramName,
const ParamContent& p_paramContent)
232 : mParamName(p_paramName)
233 , mParamContent(p_paramContent)
236 std::string mParamName;
237 ParamContent mParamContent;
240 typedef std::list< stc_ParamLines > tdf_ParamLinesList;
244 typedef std::map< std::string, ParamContent > tdf_ParamLinesMap;
248 tdf_ParamLinesMap mParamLines;
249 std::string mComment;
250 tdf_ParamLinesList mParamLinesList;
256 typedef std::map< std::string, stc_Section > INIView;
285 INIParser(
const std::string& p_projectOrFileName,
const std::string& p_hostPath);
286 INIParser(
const std::string& p_projectOrFileName);
299 std::string getCurrentINIFilename()
const;
301 std::string getDefaultINIFilename()
const;
307 void setINIFilename(
const std::string& p_INIFilename);
309 void setDefaultINIFilename();
332 ErrorCode getScriptFromFile(
const std::string& p_section,
333 std::list< std::string >& o_script,
334 bool p_removeSubcomments =
true )
const;
340 void getSections(std::vector< std::string >& o_sections)
const;
348 ErrorCode getParamNamesList(
const std::string& p_section, std::list< std::string >& o_paramNames);
355 bool sectionExists(
const std::string& p_section)
const;
364 ErrorCode getParamDescription(
const std::string& p_section,
365 const std::string& p_paramName,
366 std::string& o_paramDescr);
374 ErrorCode getSectionDescription(
const std::string& p_section, std::string& o_sectionDescr);
383 ErrorCode setOptionValueInFile(
const std::string& p_section,
384 const std::string& p_paramName,
385 const std::string& p_newValue);
394 int getIntOptionValue(
const std::string& p_section,
395 const std::string& p_paramName,
396 ErrorCode* o_error = NULL)
const;
406 std::string getStrOptionValueRecursive(
const std::string& p_section,
407 const std::string& p_paramName,
409 ErrorCode* o_error)
const;
418 std::string getStrOptionValue(
const std::string& p_section,
419 const std::string& p_paramName,
420 ErrorCode* o_error = NULL)
const;
429 double getFloatOptionValue(
const std::string& p_section,
430 const std::string& p_paramName,
431 ErrorCode* o_error = NULL)
const;
440 ErrorCode getDoubleArrayOptionValue(
const std::string& p_section,
441 const std::string& p_paramName,
442 std::vector< double >& o_array)
const;
451 ErrorCode getStrArrayOptionValue(
const std::string& p_section,
452 const std::string& p_paramName,
453 std::vector< std::string >& o_array)
const;
468 ErrorCode getTwoDimensionalArray(
const std::string& p_section,
469 const std::string& p_paramName,
470 std::vector< std::vector<double> >& o_list,
471 double& o_currentValue,
472 std::vector<std::string>& o_units)
const;
483 ErrorCode getTreeNodes(
const std::string& p_section,
484 const std::string& p_paramName,
485 std::list< std::string >& o_nodesSids,
486 std::map< std::string, std::map< std::string, std::string > >& o_nodesData,
487 std::set< std::string >& o_nodesDataFields)
const;
496 ErrorCode getFileParamData(
const std::string& p_section,
497 const std::string& p_paramName,
498 std::string& o_filename)
const;
507 ErrorCode getRangeValue(
const std::string& p_section,
const std::string& p_paramName,
com::ini::INIRange& o_range)
const;
516 bool getCheckValue(
const std::string& p_section,
517 const std::string& p_paramName,
528 ErrorCode getSetValue(
const std::string& p_section,
529 const std::string& p_paramName,
530 std::string& o_currentValue,
531 std::list< std::string >& o_valueList)
const;
540 ErrorCode getCurrentSetValue(
const std::string& p_section,
541 const std::string& p_paramName,
542 std::string& o_currentValue)
const;
552 ErrorCode getUnitValue(
const std::string& p_section,
553 const std::string& p_paramName,
554 std::string& o_value,
555 std::string& o_unit)
const;
565 ErrorCode getDBTableValue(
const std::string& p_section,
566 const std::string& p_paramName,
567 std::string& o_defaultValue,
568 std::string& o_sourceTable)
const;
582 std::string& o_paramName,
583 std::string& o_paramValue,
584 std::string& o_paramDescription)
const;
596 void loadINIDataToAnyMap(
Anymap& o_anyMapData,
597 const std::vector<std::string>& extNames,
608 void loadSectionParamsToAnyMap(
Anymap& o_sectionContentAnyMap,
609 std::vector< std::string >::iterator p_sectionsIt,
611 const std::vector<std::string>& extNames);
613 void loadParamToAnyMap(
Anymap& o_AnyMap,
614 const std::string §ionName,
615 const std::string ¶mName,
617 const std::vector<std::string>& extNames);
620 int initParser(
const std::string& p_projectOrFileName,
const std::string& p_hostPath);
621 int initParser(
const std::string& p_projectOrFileName);
622 ErrorCode loadINIFile();
623 void convertDecimalSeparator( std::string& p_value)
const;
624 std::string removeSubComment(
const std::string& p_source );
625 ErrorCode splitRawParamLine(
const std::string& p_paramLine, ParamContent& o_paramContent, std::string& o_paramName)
const;
626 ErrorCode getParamContent(
const std::string& p_section,
const std::string& p_paramName, ParamContent& o_paramContent)
const;
627 std::string cutOffUnit(
const std::string& p_unitValue )
const;
631 bool getBoolOptionValue(
const std::string& pSection,
const std::string& pParamName, ErrorCode* o_error = NULL)
const;
634 ErrorCode getStrListValue(
const std::string& pSection,
635 const std::string& pParamName,
636 std::list< std::string >& oList,
637 char pLeftBracket =
'{',
638 char pRightBracket =
'}',
639 char pDelim =
',')
const;
643 std::string mINIFilename;
646 std::map< int, std::string >* mRawStrings;
649 bool misINIViewModified;
Флаг [0]{0|1}.
Definition: iniparser.h:151
Не удалось разобрать список
Definition: iniparser.h:271
ErrorCode
Коды ошибок парсера
Definition: iniparser.h:260
double mMax
Максимальное значение
Definition: iniparser.h:180
Парсер файлов aini формата
Definition: iniparser.h:209
Некорректный тип параметра
Definition: iniparser.h:269
Невозможно открыть файл
Definition: iniparser.h:264
double mStep
Шаг
Definition: iniparser.h:178
Некорретная строка
Definition: iniparser.h:265
Двумерный массив: ((abc;def;ghi) ; (abc;def;ghi))
Definition: iniparser.h:149
Диапазон: [5; 0:10; 1], где 5 - заданное значение, 0 - минимальное значение, 10 - максимальное значен...
Definition: iniparser.h:154
enu_LoadMode
режимы загрузки ini файлов в Anymap.
Definition: iniparser.h:161
lmDefault - обычный режим загрузки
Definition: iniparser.h:163
Множество с заданным значением: [abc]{abc|def|ghi}.
Definition: iniparser.h:150
double mMin
Минимальное значение
Definition: iniparser.h:179
Параметр не найден
Definition: iniparser.h:267
Параметр с указанным индексом не существует
Definition: iniparser.h:268
Без ошибок
Definition: iniparser.h:262
Ошибка разбора значения
Definition: iniparser.h:270
Мультитиповой словарь
Definition: anymap.h:79
Не удалось разобрать множество
Definition: iniparser.h:275
std::string mParamName
Параметр
Definition: iniparser.h:192
double mCur
Текущее значение
Definition: iniparser.h:177
Значение из таблицы базы данных: [somepk]$sys.table.
Definition: iniparser.h:156
Не удалось разобрать вещестный мап
Definition: iniparser.h:273
Структура для хранения параметра типа диапазон (ptRange) aINI формата
Definition: iniparser.h:175
lmRecursive - рекурсивный режим загрузки
Definition: iniparser.h:164
std::string MAC_DLLEXPORT makeSubParam(const std::string &p_param, const std::string &p_subparam)
Секция не найдена
Definition: iniparser.h:266
Массив: (abc;def;ghi)
Definition: iniparser.h:148
Не удалось сохранить файл
Definition: iniparser.h:276
std::string mSection
Секция
Definition: iniparser.h:191
Дерево, комплексный параметр
Definition: iniparser.h:153
Не удалось разобрать двумерный список
Definition: iniparser.h:272
INIParamType
Типы параметров aINI формата
Definition: iniparser.h:145
Структура, представляющая собой пару "секция-параметр".
Definition: iniparser.h:184
Субпараметр, используемых для построения параметра типа ptTree.
Definition: iniparser.h:157
Файл: [file.ext].
Definition: iniparser.h:152
Не удалось разобрать строковый мап
Definition: iniparser.h:274
Значение с размерностью: 20[[GPa]].
Definition: iniparser.h:155
Файл не найден
Definition: iniparser.h:263
Строка
Definition: iniparser.h:147