hyperion.ng
Option.h
1 #pragma once
2 
3 #include <QCommandLineOption>
4 #include <QCommandLineParser>
5 
6 namespace commandline
7 {
8 
9 class Parser;
10 
11 /* Note, this class and all it's derivatives store the validated results for caching. This means that unlike the
12  * regular QCommandLineOption it is _not_ idempotent! */
13 class Option: public QCommandLineOption
14 {
15 public:
16  Option(const QString &name,
17  const QString &description = QString(),
18  const QString &valueName = QString(),
19  const QString &defaultValue = QString()
20  );
21 
22  Option(const QStringList &names,
23  const QString &description = QString(),
24  const QString &valueName = QString(),
25  const QString &defaultValue = QString()
26  );
27 
28  Option(const QCommandLineOption &other);
29 
30  virtual bool validate(Parser &parser, QString &value);
31  QString name();
32  QString getError();
33  QString value(Parser &parser);
34  const char* getCString(Parser &parser);
35 
36 protected:
37  QString _error;
38 };
39 
40 }
41 
Definition: Option.h:13
Definition: BooleanOption.h:8
Definition: Parser.h:19