c00f44ee356b88cffb6c9e4e842bc1d4a92b6ecd
[mspang/inapt.git] / inapt.h
1 #include <vector>
2 #include <apt-pkg/pkgcache.h>
3
4 struct inapt_conditional;
5
6 struct inapt_action {
7     const char *package;
8     enum action_t { INSTALL, REMOVE, UNSET } action;
9     const char *filename;
10     int linenum;
11     pkgCache::PkgIterator pkg;
12 };
13
14 struct inapt_block {
15     std::vector<inapt_action *> actions;
16     std::vector<inapt_conditional *> children;
17 };
18
19 struct inapt_conditional {
20     const char *condition;
21     struct inapt_block *then_block;
22     struct inapt_block *else_block;
23 };
24
25 void parser(const char *filename, inapt_block *context);