added ew method for get all users arguments

This commit is contained in:
Andrei Yankovich 2020-04-18 21:28:35 +03:00
parent d580ac1a20
commit 7070d77012
2 changed files with 24 additions and 6 deletions

View File

@ -20,11 +20,15 @@
#include <limits.h>
#endif
#define APP_PATH "appPath"
#define APP_NAME "appName"
using namespace QuasarAppUtils;
static QVariantMap params = QVariantMap();
static int _argc = 0;
bool Params::isEndable(const QString& key) {
return params.contains(key);
}
@ -87,6 +91,14 @@ void Params::showHelp() {
Help::print(getparamsHelp());
}
QVariantMap Params::getUserParamsMap() {
auto result = params;
result.remove(APP_PATH);
result.remove(APP_NAME);
return result;
}
int Params::size() {
return params.size();
}
@ -129,7 +141,7 @@ std::string Params::lvlToString(VerboseLvl vLvl) {
bool Params::writeLoginFile(const QString &log, VerboseLvl vLvl) {
if (isEndable("fileLog")) {
QString path = getStrArg("appPath") + "/" + getStrArg("appName") + ".log";
QString path = getStrArg(APP_PATH) + "/" + getStrArg(APP_NAME) + ".log";
auto file = getStrArg("fileLog");
if (file.size()) {
QString path = file;
@ -174,8 +186,8 @@ bool Params::parseParams(const QStringList &paramsArray) {
memset(buffer, 0, sizeof buffer);
GetModuleFileNameA(nullptr, buffer, MAX_PATH);
params ["appPath"] = QFileInfo(buffer).absolutePath();
params ["appName"] = QFileInfo(buffer).fileName();
params [APP_PATH] = QFileInfo(buffer).absolutePath();
params [APP_NAME] = QFileInfo(buffer).fileName();
#else
char path[2048];
@ -186,12 +198,12 @@ bool Params::parseParams(const QStringList &paramsArray) {
QuasarAppUtils::Error);
return false;
}
params ["appPath"] = QFileInfo(path).absolutePath();
params ["appName"] = QFileInfo(path).fileName();
params [APP_PATH] = QFileInfo(path).absolutePath();
params [APP_NAME] = QFileInfo(path).fileName();
#endif
if (!getStrArg("appPath").size()) {
if (!getStrArg(APP_PATH).size()) {
return false;
}

View File

@ -142,6 +142,12 @@ public:
* @brief showHelp - show base help section of QuasarAppLib
*/
static void showHelp();
/**
* @brief getUserParamsMap
* @return QVariantMap with user params
*/
static QVariantMap getUserParamsMap();
};
}