]> git.tdb.fi Git - builder.git/blobdiff - source/package.h
Use default member initializers and constructor delegation
[builder.git] / source / package.h
index 01a43a0fb8453c0fbd1eedfae560b745717a9d7c..d13aa737b985a71a8a99242445bb5915472c66d3 100644 (file)
@@ -1,10 +1,11 @@
 #ifndef PACKAGE_H_
 #define PACKAGE_H_
 
-#include <list>
 #include <string>
+#include <vector>
 #include <msp/datafile/objectloader.h>
 #include "buildinfo.h"
+#include "conditionalloader.h"
 #include "config.h"
 
 class Builder;
@@ -18,16 +19,15 @@ packages and the builderrc file for binary packages with no pkg-config support.
 class Package
 {
 public:
-       class Loader: public Msp::DataFile::ObjectLoader<Package>
+       class Loader: public Msp::DataFile::ObjectLoader<Package>, public ArchitectureConditional
        {
        public:
                Loader(Package &);
        private:
-               void if_arch(const std::string &);
                void require(const std::string &);
        };
 
-       typedef std::list<Package *> Requirements;
+       using Requirements = std::vector<Package *>;
 
 protected:
        Builder &builder;
@@ -37,10 +37,10 @@ protected:
 
        Requirements requires;
        BuildInfo export_binfo;
-       bool prepared;
-       std::list<std::string> problems;
+       bool prepared = false;
+       std::vector<std::string> problems;
 
-       bool use_pkgconfig;
+       bool use_pkgconfig = true;
 
        Package(Builder &, const std::string &);
 public:
@@ -66,7 +66,7 @@ protected:
 public:
        bool is_prepared() const { return prepared; }
 
-       const std::list<std::string> &get_problems() const { return problems; }
+       const std::vector<std::string> &get_problems() const { return problems; }
 
        virtual void save_caches() { }
 };