-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathargumentparser.cpp
68 lines (51 loc) · 1.6 KB
/
argumentparser.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include "argumentparser.h"
#include <QDebug>
ArgumentParser::ArgumentParser()
{
}
void ArgumentParser::setArgs(Argument *a)
{
args.append(a);
}
int ArgumentParser::ParseArguments(QStringList cmdlineArgs){
for(int i = 0; i < cmdlineArgs.size();i++){
QString cmd = cmdlineArgs.at(i);
qDebug() << cmd;
for(int a =0; a<args.size();a++){
Argument *arg_ = args.at(a);
for(int c=0; c < arg_->parseCmds.size(); c++){
QString cmdarg = arg_->parseCmds.at(c);
if(cmdarg == cmd){
if(i+1 >=cmdlineArgs.size()){
qDebug() << "no valid Argument found!";
return -1;
} else {
int val = cmdlineArgs.at(i+1).toInt();
qDebug() << "copy Argument in Value" << "found val" << val;
args[a]->Value = val;
//args[a]->parseCmds =
QString item = cmdlineArgs.at(i+1);
args[a]->payload = item;
args[a]->set = true;
//args[a].Value = cmdlineArgs.at(i+1).toInt();
continue;
}
}
}
}
}
return 0;
}
void ArgumentParser::PrintArgumentDescription(){
for(int i = 0; i < args.size();i++){
qDebug() << args.at(i)->Description;
}
}
Argument::Argument(){
}
Argument::Argument(QStringList cmd, QString Desc)
{
this->parseCmds =cmd;
this->Description = Desc;
this->set = false;
}