X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsourcegenerator.h;h=3b96799dc81dccc06b199329532d451023cce9b7;hb=aa053d637e8259755af7d2e4b510a242f4d29c7b;hp=b3c00e4d5f3e8e372318b106815fb9654425c80e;hpb=6140518acb736f9020005245686bfbc5fca2d329;p=builder.git diff --git a/source/sourcegenerator.h b/source/sourcegenerator.h index b3c00e4..3b96799 100644 --- a/source/sourcegenerator.h +++ b/source/sourcegenerator.h @@ -2,38 +2,40 @@ #define SOURCEGENERATOR_H_ #include +#include "conditionalloader.h" #include "sourcepackage.h" #include "tool.h" class SourceGenerator: public Tool { public: - class Loader: public Msp::DataFile::ObjectLoader + class Loader: public Msp::DataFile::ObjectLoader, public ConditionalLoader { public: Loader(SourceGenerator &); private: + void argument(const std::string &); + void arguments(const std::vector &); void command(const std::string &); void in_suffix(const std::string &); + void out_argument(const std::string &); void out_suffix(const std::string &); }; private: const SourcePackage &package; - std::list out_suffixes; + std::vector out_suffixes; + std::vector arguments; + std::string out_argument; public: SourceGenerator(Builder &, const SourcePackage &, const std::string &); - virtual Target *create_source(const Component &, const Msp::FS::Path &) const; - virtual Target *create_target(const std::list &, const std::string &); + Target *create_source(const Component &, const Msp::FS::Path &) const override; + Target *create_target(const std::vector &, const std::string &) override; -private: - virtual void do_prepare(); - -public: - virtual Task *run(const Target &) const; + Task *run(const Target &) const override; }; #endif