#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;
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;
std::string name;
+ std::string label;
Requirements requires;
BuildInfo export_binfo;
bool prepared;
- std::list<std::string> problems;
+ std::vector<std::string> problems;
bool use_pkgconfig;
Builder &get_builder() const { return builder; }
const std::string &get_name() const { return name; }
+ const std::string &get_label() const { return label; }
const Requirements &get_required_packages() const { return requires; }
const BuildInfo &get_exported_build_info() const { return export_binfo; }
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() { }
};