]> git.tdb.fi Git - builder.git/blobdiff - source/binarypackage.h
Convert all list containers to vectors
[builder.git] / source / binarypackage.h
index 5b47d645c149710b71eaed051a577c4fa5fc4b03..62a8acf3fc6ba70bc2a2d2c215c7359cf8b8a5d9 100644 (file)
@@ -10,23 +10,31 @@ Builder.
 class BinaryPackage: public Package
 {
 public:
-       class Loader: public Msp::DataFile::DerivedObjectLoader<BinaryPackage, Package>
+       class Loader: public Msp::DataFile::DerivedObjectLoader<BinaryPackage, Package::Loader>
        {
        public:
                Loader(BinaryPackage &);
        private:
                void build_info();
+               void header(const std::string &);
        };
 
+       using Flags = std::vector<std::string>;
+
 private:
        Msp::FS::Path base_path;
+       std::vector<std::string> headers;
+       BuildInfo static_binfo;
 
 public:
        BinaryPackage(Builder &, const std::string &);
 
-       static BinaryPackage *from_flags(Builder &, const std::string &, const std::vector<std::string> &);
+       const BuildInfo &get_static_build_info() const { return static_binfo; }
+
+       static BinaryPackage *from_flags(Builder &, const std::string &, const Flags &, const Flags & = Flags());
 private:
-       virtual void do_prepare();
+       static void process_flags(const Flags &, BuildInfo &);
+       void do_prepare() override;
 };
 
 #endif