X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fsourcepackage.h;h=fce58a659fdd925f5b18411ff06035890d6797ca;hb=1ec533a7777be4dce9c8b6bbb1cbc32d38098ae4;hp=ed8ad40f7275f9d5ac364a3f7971cf805b31b050;hpb=11b4732f81396aa3d8b0fc8928b8e1981032e743;p=builder.git diff --git a/source/sourcepackage.h b/source/sourcepackage.h index ed8ad40..fce58a6 100644 --- a/source/sourcepackage.h +++ b/source/sourcepackage.h @@ -6,6 +6,7 @@ #include "buildinfo.h" #include "cache.h" #include "component.h" +#include "conditionalloader.h" #include "config.h" #include "feature.h" #include "package.h" @@ -22,25 +23,23 @@ A package that can be built by Builder. class SourcePackage: public Package { public: - class Loader: public Msp::DataFile::DerivedObjectLoader + class Loader: public Msp::DataFile::DerivedObjectLoader, public FeatureConditional { private: const Config::InputOptions *options; public: - Loader(SourcePackage &); - Loader(SourcePackage &, const Config::InputOptions &); + Loader(SourcePackage &, const Config::InputOptions *); private: - void init(const Config::InputOptions *); - virtual void finish(); + void finish() override; + void feature(const std::string &, const std::string &); template void component(const std::string &); - template - void component_arg(const std::string &); + template + void component_arg(A, const std::string &); void build_info(); void generate(const std::string &); - void if_feature(const std::string &); void interface_version(const std::string &); void source_archive(); void tarball(const std::string &); @@ -87,12 +86,12 @@ public: void set_build_type(const BuildType &); const BuildInfo &get_build_info() const { return build_info; } private: - virtual void do_prepare(); + void do_prepare() override; public: Cache &get_cache() const { return cache; } private: - virtual void save_caches(); + void save_caches() override; }; #endif