]> git.tdb.fi Git - builder.git/blob - source/binarypackage.h
13e2fd85ddc7a65397654400a9ece95913d308be
[builder.git] / source / binarypackage.h
1 #ifndef BINARYPACKAGE_H_
2 #define BINARYPACKAGE_H_
3
4 #include "package.h"
5
6 /**
7 Represents a package that is installed on the system, but can't be built by
8 Builder.
9 */
10 class BinaryPackage: public Package
11 {
12 public:
13         class Loader: public Msp::DataFile::DerivedObjectLoader<BinaryPackage, Package::Loader>
14         {
15         public:
16                 Loader(BinaryPackage &);
17         private:
18                 void build_info();
19                 void header(const std::string &);
20         };
21
22 private:
23         typedef std::list<std::string> HeaderList;
24
25         Msp::FS::Path base_path;
26         HeaderList headers;
27
28 public:
29         BinaryPackage(Builder &, const std::string &);
30
31         static BinaryPackage *from_flags(Builder &, const std::string &, const std::vector<std::string> &);
32 private:
33         virtual void do_prepare();
34 };
35
36 #endif