mirror of
https://github.com/QuasarApp/QuasarAppLib.git
synced 2025-04-26 17:54:40 +00:00
Merge remote-tracking branch 'origin/paramsParser'
This commit is contained in:
commit
67b4dcda0b
22
params.cpp
22
params.cpp
@ -133,6 +133,16 @@ bool Params::writeLoginFile(const QString &log, VerboseLvl vLvl) {
|
||||
}
|
||||
|
||||
bool Params::parseParams(int argc,const char *argv[]) {
|
||||
|
||||
QStringList params;
|
||||
for (int i = 1; i < argc; i++) {
|
||||
params.push_back(argv[i]);
|
||||
}
|
||||
|
||||
return parseParams(params);
|
||||
}
|
||||
|
||||
bool Params::parseParams(const QStringList ¶msArray) {
|
||||
params.clear();
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
@ -156,16 +166,16 @@ bool Params::parseParams(int argc,const char *argv[]) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (argv[i][0] == '-' && i ) {
|
||||
if (i < (argc - 1) && argv[i + 1][0] != '-') {
|
||||
params[&(argv[i][1])] = argv[i + 1];
|
||||
for (int i = 0 ; i < paramsArray.size(); ++i) {
|
||||
if (paramsArray[i][0] == '-') {
|
||||
if (i < (paramsArray.size() - 1) && paramsArray[i + 1][0] != '-') {
|
||||
params[paramsArray[i].mid(1)] = paramsArray[i + 1];
|
||||
i++;
|
||||
} else {
|
||||
qWarning() << "Missing argument for " + QString(argv[i]) ;
|
||||
qWarning() << "Missing argument for " + paramsArray[i] ;
|
||||
}
|
||||
} else {
|
||||
params[argv[i]] = "";
|
||||
params[paramsArray[i]] = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
6
params.h
6
params.h
@ -41,6 +41,12 @@ public:
|
||||
* @return true if all arguments read else false
|
||||
*/
|
||||
static bool parseParams(int argc, const char *argv[]);
|
||||
/**
|
||||
* @brief parseParams - parase input data of started application
|
||||
* @param params - arguments
|
||||
* @return true if all arguments read else false
|
||||
*/
|
||||
static bool parseParams(const QStringList& paramsArray);
|
||||
|
||||
/**
|
||||
* @brief getStrArg - get string value of key
|
||||
|
Loading…
x
Reference in New Issue
Block a user