]> icculus.org git repositories - mikachu/openbox.git/blob - util/epist/parser.hh
Big fat merge for epist.
[mikachu/openbox.git] / util / epist / parser.hh
1 #include <string>
2 #include "actions.hh"
3 #include "keytree.hh"
4
5 class parser {
6 public:
7     parser(keytree *);
8     ~parser();
9
10     void parse(std::string);
11
12     void setKey(std::string key)
13     {  _key = key; }
14
15     void setArgument(std::string arg)
16     { _arg = arg; }
17
18     void setAction(std::string);
19     void addModifier(std::string);
20     void endAction();
21     void startChain();
22     void setChainBinding();
23     void endChain();
24
25 private:
26     void reset();
27
28     keytree *_kt;
29     unsigned int _mask;
30     Action::ActionType _action;
31     std::string _key;
32     std::string _arg;
33 };