]> git.localhorst.tv Git - l2e.git/blob - Arguments.h
524d3b6e394ed15c85ec2406ebd49f79af0e1a0b
[l2e.git] / Arguments.h
1 #ifndef APP_ARGUMENTS_H_
2 #define APP_ARGUMENTS_H_
3
4 #include <vector>
5
6 namespace app {
7
8 /// Specialized argument interpreter.
9 /// Reads command line arguments via Read(int, char**) function.
10 class Arguments {
11
12 public:
13         Arguments();
14         ~Arguments() { }
15
16 public:
17         enum RunLevel {
18                 DUMP,
19                 PLAY,
20                 WRITE,
21
22                 // temporary modes
23                 BATTLE,
24                 MAP,
25                 SOURCE_WIKI,
26         };
27
28 public:
29         void Read(int argc, char **argv);
30
31         RunLevel GetRunLevel() const { return runlevel; }
32
33         const std::vector<char *> &Infiles() const { return infiles; }
34
35         bool OutfileSet() const { return outfile; }
36         const char *OutfilePath() const { return outfile; }
37
38 private:
39         std::vector<char *> infiles;
40         const char *outfile;
41         RunLevel runlevel;
42
43 };
44
45 }
46
47 #endif /* APP_ARGUMENTS_H_ */