X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcondition.h;h=12157f35a466365d2acb3b39dee81e00fc27d575;hb=4e6fd9a7436d61af311ab83b5ec264b37078fe76;hp=433c0c8ee431dd8f4d81e8d25d4233a1f6bd2b48;hpb=654de39b62a9a58fd8e1b5a557361d628345788b;p=builder.git diff --git a/source/condition.h b/source/condition.h index 433c0c8..12157f3 100644 --- a/source/condition.h +++ b/source/condition.h @@ -1,7 +1,7 @@ /* $Id$ This file is part of builder -Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions +Copyright © 2007, 2009 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ @@ -11,7 +11,6 @@ Distributed under the LGPL #include #include "buildinfo.h" #include "misc.h" -#include "packageref.h" class Config; class SourcePackage; @@ -21,25 +20,27 @@ class Condition public: class Loader: public Msp::DataFile::Loader { - public: - Loader(Condition &); private: Condition &cond; + public: + Loader(Condition &); + private: void require(const std::string &); void build_info(); }; - Condition(SourcePackage &, const std::string &); - const PkgRefList &get_requires() const { return requires; } - const BuildInfo &get_build_info() const { return build_info; } - void resolve_refs(); - bool eval(); private: SourcePackage &pkg; - StringMap expression; - PkgRefList requires; - BuildInfo build_info; + StringMap expression; + StringList requires; + BuildInfo build_info; + +public: + Condition(SourcePackage &, const std::string &); + const StringList &get_requires() const { return requires; } + const BuildInfo &get_build_info() const { return build_info; } + bool eval(); }; typedef std::list ConditionList;