//  Copyright (c) 2000-2002 by Per Liden <per@fukt.bth.se>

#ifndef PKGADD_H
#define PKGADD_H

#include "pkgutil.h"
#include <vector>

#define PKGADD_CONF             "/etc/pkgadd.conf"
#define PKGADD_CONF_MAXLINE     1024

struct rule_t {
   enum { UPGRADE } event;
   string pattern;
   bool action;
};

class pkgadd : public pkgutil {
public:
   virtual int run(int argc, char** argv);

protected:
   virtual const char* name() const { return "pkgadd"; }
   void print_help() const;

private:
   vector<rule_t> read_config() const;
   set<string> make_keep_list(const set<string>& files, const vector<rule_t>& rules) const;
};

#endif /* PKGADD_H */