fhq-server  v0.2.33
Documentation for fhq-server. FreeHackQuest is an open source platform for competitions of computer security.
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 
17 };
18 
19 // ---------------------------------------------------------------------
20 
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);
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;
36 };
37 
38 // ---------------------------------------------------------------------
39 
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
Definition: fallen.h:15
std::vector< FallenHelpParseArg * > m_vHelpArgs
Definition: fallen.h:53
std::string alias()
Definition: fallen.cpp:46
std::string name()
Definition: fallen.cpp:40
FallenHelpParseArgType
Definition: fallen.h:14
Definition: fallen.h:16
bool isOption()
Definition: fallen.cpp:58
std::string description()
Definition: fallen.cpp:52
FallenHelpParseArg()
Definition: fallen.cpp:31
std::string m_sName
Definition: fallen.h:32
Definition: fallen.h:21
std::string m_sAppVersion
Definition: fallen.h:55
std::string m_sAlias
Definition: fallen.h:33
bool m_bIsOption
Definition: fallen.h:35
std::vector< std::string > m_vArgs
Definition: fallen.h:52
std::string m_sDescription
Definition: fallen.h:34
void printHelp(const std::string &sProgramName)
Definition: wsjcpp_unit_tests_main.cpp:5
Definition: fallen.h:40
std::string m_sAppName
Definition: fallen.h:54