X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcondition.h;h=954adeece62cffe4d45578f4a060c87d78775ce0;hb=43bd25ffcb0b4f7882773f4676b209a99cb73c04;hp=baf718cc43d5755265345235ad7a1bc63d250f30;hpb=bb5c048950a011f181cb3235ed2b0b2677869171;p=builder.git diff --git a/source/condition.h b/source/condition.h index baf718c..954adee 100644 --- a/source/condition.h +++ b/source/condition.h @@ -1,44 +1,39 @@ -/* $Id$ - -This file is part of builder -Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef CONDITION_H_ #define CONDITION_H_ #include #include "buildinfo.h" #include "misc.h" -#include "packageref.h" class Config; +class SourcePackage; 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(Package &, 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: - Package &pkg; - StringMap expression; - PkgRefList requires; - BuildInfo build_info; + SourcePackage &pkg; + 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;