diff options
Diffstat (limited to 'akonadi2_cli/syntaxtree.h')
-rw-r--r-- | akonadi2_cli/syntaxtree.h | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/akonadi2_cli/syntaxtree.h b/akonadi2_cli/syntaxtree.h index 54b867f..7282955 100644 --- a/akonadi2_cli/syntaxtree.h +++ b/akonadi2_cli/syntaxtree.h | |||
@@ -24,32 +24,34 @@ | |||
24 | #include <QStringList> | 24 | #include <QStringList> |
25 | #include <QVector> | 25 | #include <QVector> |
26 | 26 | ||
27 | class SyntaxTree | 27 | class Syntax |
28 | { | 28 | { |
29 | public: | 29 | public: |
30 | struct Syntax | 30 | enum Interactivity { |
31 | { | 31 | NotInteractive = 0, |
32 | enum Interactivity { | 32 | EventDriven |
33 | NotInteractive = 0, | ||
34 | EventDriven | ||
35 | }; | ||
36 | |||
37 | Syntax(); | ||
38 | Syntax(const QString &keyword, | ||
39 | const QString &helpText = QString(), | ||
40 | std::function<bool(const QStringList &, State &)> lambda = std::function<bool(const QStringList &, State &)>(), | ||
41 | Interactivity interactivity = NotInteractive); | ||
42 | |||
43 | QString keyword; | ||
44 | QString help; | ||
45 | Interactivity interactivity; | ||
46 | std::function<bool(const QStringList &, State &)> lambda; | ||
47 | |||
48 | QVector<Syntax> children; | ||
49 | }; | 33 | }; |
50 | 34 | ||
35 | Syntax(); | ||
36 | Syntax(const QString &keyword, | ||
37 | const QString &helpText = QString(), | ||
38 | std::function<bool(const QStringList &, State &)> lambda = std::function<bool(const QStringList &, State &)>(), | ||
39 | Interactivity interactivity = NotInteractive); | ||
40 | |||
41 | QString keyword; | ||
42 | QString help; | ||
43 | Interactivity interactivity; | ||
44 | std::function<bool(const QStringList &, State &)> lambda; | ||
45 | |||
46 | QVector<Syntax> children; | ||
47 | }; | ||
48 | |||
49 | class SyntaxTree | ||
50 | { | ||
51 | public: | ||
52 | |||
51 | typedef std::pair<const Syntax *, QStringList> Command; | 53 | typedef std::pair<const Syntax *, QStringList> Command; |
52 | typedef QVector<SyntaxTree::Syntax> SyntaxList; | 54 | typedef QVector<Syntax> SyntaxList; |
53 | 55 | ||
54 | static SyntaxTree *self(); | 56 | static SyntaxTree *self(); |
55 | 57 | ||