3604050565d8857a372d44ec5d26383b22c9b12f
[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     std::vector<const char *> predicates;
13 };
14
15 struct inapt_block {
16     std::vector<inapt_action *> actions;
17     std::vector<inapt_conditional *> children;
18 };
19
20 struct inapt_conditional {
21     const char *condition;
22     struct inapt_block *then_block;
23     struct inapt_block *else_block;
24 };
25
26 void parser(const char *filename, inapt_block *context);