fhq-server
v0.2.33
Documentation for fhq-server. FreeHackQuest is an open source platform for competitions of computer security.
fhq-server
src
core
fallen.h
Go to the documentation of this file.
1
#ifndef FALLEN_H
2
#define FALLEN_H
3
4
#include <string>
5
#include <vector>
6
#include <map>
7
#include <mutex>
8
#include <json.hpp>
9
#include <deque>
10
#include <
wsjcpp_core.h
>
11
12
// ---------------------------------------------------------------------
13
14
enum
FallenHelpParseArgType
{
15
PARAMETER
,
16
SINGLE_OPTION
17
};
18
19
// ---------------------------------------------------------------------
20
21
class
FallenHelpParseArg
{
22
public
:
23
// TODO redesign to alias list {"1", "2"}
24
FallenHelpParseArg
(
const
std::string &sName,
const
std::string &sAlias,
FallenHelpParseArgType
nType,
const
std::string &sDescription);
25
FallenHelpParseArg
();
26
std::string
name
();
27
std::string
alias
();
28
std::string
description
();
29
bool
isOption
();
30
31
private
:
32
std::string
m_sName
;
33
std::string
m_sAlias
;
34
std::string
m_sDescription
;
35
bool
m_bIsOption
;
36
};
37
38
// ---------------------------------------------------------------------
39
40
class
FallenHelpParseArgs
{
41
public
:
42
FallenHelpParseArgs
(
int
argc,
char
** argv);
43
void
setAppName(
const
std::string &sAppName);
44
void
setAppVersion(
const
std::string &sAppVersion);
45
bool
has(
const
std::string &sName);
46
std::string option(
const
std::string &sName);
47
void
addHelp(
const
std::string &sName,
const
std::string &sAlias,
FallenHelpParseArgType
nType,
const
std::string &sDescription);
48
void
printHelp
();
49
bool
checkArgs(std::string &sArgsErrors);
50
51
private
:
52
std::vector<std::string>
m_vArgs
;
53
std::vector<FallenHelpParseArg *>
m_vHelpArgs
;
54
std::string
m_sAppName
;
55
std::string
m_sAppVersion
;
56
};
57
58
#endif // FALLEN_H
PARAMETER
Definition:
fallen.h:15
FallenHelpParseArgs::m_vHelpArgs
std::vector< FallenHelpParseArg * > m_vHelpArgs
Definition:
fallen.h:53
FallenHelpParseArg::alias
std::string alias()
Definition:
fallen.cpp:46
FallenHelpParseArg::name
std::string name()
Definition:
fallen.cpp:40
FallenHelpParseArgType
FallenHelpParseArgType
Definition:
fallen.h:14
SINGLE_OPTION
Definition:
fallen.h:16
FallenHelpParseArg::isOption
bool isOption()
Definition:
fallen.cpp:58
FallenHelpParseArg::description
std::string description()
Definition:
fallen.cpp:52
FallenHelpParseArg::FallenHelpParseArg
FallenHelpParseArg()
Definition:
fallen.cpp:31
FallenHelpParseArg::m_sName
std::string m_sName
Definition:
fallen.h:32
FallenHelpParseArg
Definition:
fallen.h:21
FallenHelpParseArgs::m_sAppVersion
std::string m_sAppVersion
Definition:
fallen.h:55
FallenHelpParseArg::m_sAlias
std::string m_sAlias
Definition:
fallen.h:33
FallenHelpParseArg::m_bIsOption
bool m_bIsOption
Definition:
fallen.h:35
FallenHelpParseArgs::m_vArgs
std::vector< std::string > m_vArgs
Definition:
fallen.h:52
FallenHelpParseArg::m_sDescription
std::string m_sDescription
Definition:
fallen.h:34
wsjcpp_core.h
printHelp
void printHelp(const std::string &sProgramName)
Definition:
wsjcpp_unit_tests_main.cpp:5
FallenHelpParseArgs
Definition:
fallen.h:40
FallenHelpParseArgs::m_sAppName
std::string m_sAppName
Definition:
fallen.h:54
Generated by
1.8.13