8 #ifndef OM_H_ARG_READER_H
9 #define OM_H_ARG_READER_H
21 static constexpr
const char * iniFile =
"OpenM.IniFile";
24 static constexpr
const char * iniAnyKey =
"OpenM.IniAnyKey";
27 static constexpr
const char * runStamp =
"OpenM.RunStamp";
30 static constexpr
const char * logToConsole =
"OpenM.LogToConsole";
33 static constexpr
const char * logToFile =
"OpenM.LogToFile";
36 static constexpr
const char * logFilePath =
"OpenM.LogFilePath";
39 static constexpr
const char * logToStamped =
"OpenM.LogToStampedFile";
42 static constexpr
const char * logUseTs =
"OpenM.LogUseTimeStamp";
45 static constexpr
const char * logUsePid =
"OpenM.LogUsePidStamp";
48 static constexpr
const char * logNoMsgTime =
"OpenM.LogNoMsgTime";
51 static constexpr
const char * logSql =
"OpenM.LogSql";
64 const size_t i_keyArrSize,
65 const char ** i_keyArr,
66 const size_t i_shortArrSize = 0,
67 const pair<const char *, const char *> * i_shortPairArr =
nullptr
77 bool isOptionExist(
const char * i_key)
const noexcept;
80 string strOption(
const char * i_key,
const string & i_default =
"") const noexcept;
83 bool boolOption(const
char * i_key) const noexcept;
91 int boolOptionToInt(const
char * i_key) const noexcept;
94 int intOption(const
char * i_key,
int i_default) const noexcept {
return (
int)longOption(i_key, i_default); }
97 long long longOption(
const char * i_key,
long long i_default)
const noexcept;
100 double doubleOption(
const char * i_key,
double i_default)
const noexcept;
103 void parseCommandLine(
106 bool i_isThrowUnknown,
107 bool i_isStoreUnknown,
108 const size_t i_keyArrSize,
109 const char ** i_keyArr,
110 const size_t i_shortArrSize = 0,
111 const pair<const char *, const char *> * i_shortPairArr =
nullptr,
112 const size_t i_prefixSize = 0,
113 const char ** i_prefixArr =
nullptr,
114 const size_t i_suffixSize = 0,
115 const char ** i_suffixArr =
nullptr
120 const char * i_filePath,
121 const size_t i_keyArrSize,
122 const char ** i_keyArr,
123 bool i_isStoreUnknown =
false,
124 const size_t i_sectionToMergeSize = 0,
125 const char ** i_sectionToMergeArr =
nullptr,
126 const size_t i_multiKeySize = 0,
127 const char ** i_multiKeyArr =
nullptr
131 void adjustLogSettings(
int argc,
char ** argv);
openM++ namespace
Definition: log.h:32
std::map< std::string, std::string, LessNoCase > NoCaseMap
map of key-value strings with case neutral key search
Definition: omHelper.h:220
OpenM++ common helper utilities.
common openM++ keys for runtime arguments
Definition: argReader.h:19
arguments reader to get runtime arguments from command line and ini-file.
Definition: argReader.h:56
ArgReader(void)
initialize empty list of run arguments.
Definition: argReader.h:58
NoCaseMap args
arguments as key-value string pairs with case-neutral search
Definition: argReader.h:74
~ArgReader(void) noexcept
cleanup argument holder resources
Definition: argReader.h:71