X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftoolchain.h;h=34fc0a2b6651a77eda77c44c97c4679edd8057db;hb=d917c5fd92e7ae50b35e7024a0a2365438bead72;hp=ea452408cd4c6c25ba900a4d662ccc9847ec8f85;hpb=7600faa265e30c62220fe066002f0bdd116a7e48;p=builder.git diff --git a/source/toolchain.h b/source/toolchain.h index ea45240..34fc0a2 100644 --- a/source/toolchain.h +++ b/source/toolchain.h @@ -13,17 +13,25 @@ A container for tools. Performs lookup based on tag or filename extension. class Toolchain { private: + std::string name; + int priority = 0; std::map tools; std::vector chains; +protected: + Toolchain(const std::string &n, unsigned p): name(n), priority(p) { } public: + Toolchain() = default; ~Toolchain(); + const std::string &get_name() const { return name; } + int get_priority() const { return priority; } void add_tool(Tool *); void add_toolchain(Toolchain *); bool has_tool(const std::string &) const; Tool &get_tool(const std::string &) const; Tool *get_tool_for_suffix(const std::string &, bool = false) const; + const std::vector &get_toolchains() { return chains; } }; #endif